Skip to end of metadata
Go to start of metadata

This is a meta-issue spread across many patches and mailing-list discussions.


  • New users are frequently confused by the differences among require, use, import, and ns
  • Ahead-of-time-compiled Clojure sources break when internal Clojure APIs change


  • CLJ-879: Allow :require to support a :refer clause
  • CLJ-461: require namespace implicitly
  • CLJ-322: Enhance AOT compilation process to emit classfiles only for explicitly-specified namespaces
  • CLJ-272: load/ns/require/use overhaul
  • CLJ-148: Poor reporting of symbol conflicts when using (ns)
  • CLJ-42: GC Issue 38: When using AOT compilation, "load"ed files are not reloaded on (require :reload '
  • CLJ-8: GC Issue 3: Re-enable detection of circular loads


Sample Code

  • clj-nstools: permits any namespace to serve as a template for constructing other namespaces
  • need: a macro to load Clojure namespaces