nasser / magic

Morgan And Grand Iron Clojure
http://nas.sr/magic/
365 stars 17 forks source link

Unify options system #233

Open nasser opened 2 years ago

nasser commented 2 years ago

There are currently three ways to configure compilation in MAGIC

  1. The magic.flags dynamic vars
  2. Spells
  3. Option maps in magic.api

The divergence is not a result of design but of history. There's no reason not to unify these three under a single system.

magic.flags is the simplest and most idiomatic of them all so should be expanded to trigger spells and populate magic.api option maps as well. The internal implementation of the spells and option maps can remain as implementation details.