Error formatting macro: pagetree: java.lang.NullPointerException
Skip to end of metadata
Go to start of metadata
You are viewing an old version of this page. View the current version. Compare with Current  |   View Page History


The Clojure compiler is currently a large Java class. Writing it in Clojure will produce many benefits.


  • Provide discrete analysis phase yielding Clojure data structures capturing semantics of code.
  • Split out type reflection into API
  • Split out code gen into API
  • Split off ASM into separate jar
    • allow for full use of ASM
      • e.g. show assembly output mode for compiler
    • this split could happen pre-CinC
    • Should we still re-root package to avoid conflicts?
  • Multiple back ends
    • Java source
    • Java bytecode
    • CLR
    • JS
    • ?
  • Remove warts from current design
    • e.g. use of vars and binding