Version 6, last updated by stuart.halloway at Mar 29 07:56 2011 UTC
Clojure Compiler in Clojure
Read this first!
Clojure issue tracking now lives at http://dev.clojure.org/jira, and the wiki is at http://dev.clojure.org. These Assembla pages are kept online for historical interest only.
This is a page for design work on a new compiler written in Clojure. It is not a promise of such a compiler, nor of any features.
- Write the Clojure compiler in Clojure so all future enhancements will involve Clojure coding
- Make more people familiar with the operation of the compiler
- Host independence
- Ease porting
- All Clojure?
- Some RT?
- Analysis phase produces well-documented AST as Clojure data
- Improvements over current compiler
- fully functional, no dynamic vars
- threaded immutable environment
- more separation of host concerns
- type reflection etc
- Move ASM out of clojure.jar
- use ASM instead of reflection for type info
- move to more current ASM
- Think about future features like:
- letmacro
- primitive args/returns in fns
- Tackle namespace issues?
- Namespaces follow classes
- thus can follow schemes like OSGi
- Get rid of global namespace registries?
- Get rid of mapping classnames -> class instances
- Namespaces follow classes
- Backends
- Experiment with generating Java source?
- ASM
- CLR/DLR
- JS
- ?