This is a meta-issue spread across many patches and mailing-list discussions.
General Goals
- Finer control over writing out .class files
- Less confusion for new users around import/require/use/ns
- Consistent load-time behavior of AOT-compiled and non-AOT-compiled namespaces
Patches
- 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 'name.space)
Discussions
- require namesapces implicitly, clojure-dev thread started 9/26/2010
- "need" - add to contrib?, clojure-dev thread started 4/27/2010
- Better documentation and error messages are needed for the ns macro, clojure thread started 11/10/2009
- Suggestion: alias for single part namespaces, clojure-dev thread started 4/7/2010
- Managing Namespaces, blog post by khinsen, 2/17/2010
- ns/load/require/use overhaul, clojure-dev thread started 2/13/2010
- Issue request: RT.load's "don't load if already loaded" mechanism breaks ":reload-all", clojure-dev thread started 2/6/2010
Sample Code
- clj-nstools: permits any namespace to serve as a template for constructing other namespaces
- need: a macro to load Clojure namespaces
Labels: