- Non-code classpath operations
- Find location of a resource by classpath-relative name (clojure.java.io/resource)
- Code loading operations
- Load .clj source or AOT-compiled .class by classpath-relative name (clojure.core/load)
- Load .clj source from the filesystem (clojure.core/load-file)
- Namespace operations
- Create a namespace (clojure.core/create-ns, in-ns, ns)
- Delete a namespace (clojure.core/remove-ns)
- Map a symbol to a Var or Class
- Create a Var (clojure.core/intern)
- Map a symbol to a public Var (clojure.core/refer)
- Map a symbol to a class (clojure.core/import)
- Unmap a symbol (clojure.core/ns-unmap)
- Add an alias (clojure.core/alias)
- Remove an alias (clojure.core/ns-unalias)
- Get symbol mappings (clojure.core/ns-map)
- Get public symbol mappings (clojure.core/ns-publics)
- Get class mappings (clojure.core/ns-imports)
- Get interned symbols (clojure.core/ns-interns)
- Get symbols mapped from other namespaces (clojure.core/ns-refers)
- Library operations
- Load a library by name (PRIVATE clojure.core/load-one)
- Load a library if it has not already been loaded (clojure.core/require, use)
- Reload a library (clojure.core/require, use with :reload)
- Reload a library and all its dependencies (clojure.core/require, use with :reload-all)
- Get currently-loaded libraries (clojure.core/loaded-libs)
- ?? Un-load a library
- Class operations
- Load a class by name (clojure.core/import, reference full name in source)
- Combination Library, Class, & Namespace
- Load a class and map in current namespace (clojure.core/import)
- Load a library and alias a namespace (clojure.core/require :as)
- Load a library and map public symbols (clojure.core/use)
- Features useful to tools
- Ability to determine library dependencies without loading them
Labels: