Error formatting macro: pagetree: java.lang.NullPointerException

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


  • The compiler will need a standard way to determine which variant is active to make decisions during compilation.


Usage Scenarios

Clojure dyn (AOT)

  • Same as now, can redef calls to core Clojure fns both externally and internally
  • Metadata available

Clojure prod (AOT) + Application prod source

  • Clojure code is compiled with direct linking
  • Internal calls from one Clojure core function to another cannot be redefined (due to AOT)
  • External code can redef calls to core Clojure fns
  • Some metadata is trimmed (docstrings) to save space and loading time
Application dyn
  • Same as now (but use of Clojure core depends on which version you use as above)
Application prod (source) 
  • As source is loaded and compiled, internal references are statically linked
  • External calls to application functions can be redefined 
  • Internal calls to application functions can be 
Clojure prod (AOT) + Application prod AOT

Clojure prod (AOT) + Application dyn source