Clojure today exists at a balance point between performance and dynamic flexibility. Some users would be willing to sacrifice dynamic features to gain more performance. Other users would be willing to sacrifice performance to gain better development error messages or debugging. The problem we aim to solve is to alter the Clojure build such that we can produce alternate versions of Clojure that are useful to smaller audiences while retaining Clojure as it is today.
- Clojure users should be able to depend on and use special builds in a way that is natural for their environment (Leiningen, Maven, etc)
- Specialized Clojure builds will contain different versions of the classes that make up Clojure to deliver different code