Facilities for loading and compiling libs.

Documentation needs more work.

compile!

Available since version 1.0 (view source)

not referred automatically

Usage:
  • (compile! lib & {:as opts})

Type signature:
  • (Any ⨯ Any) → nil

Compiles given lib. May supply additional options (e.g. :path).

load!

Available since version 1.0 (view source)

not referred automatically

Usage:
  • (load! x)

  • (load! x uri)

  • (load! x path name)

Type signatures:
  • ((U IRed java.io.Reader IAcquirableFactory IReadable)) → Any

  • ((U IRed java.io.Reader IAcquirableFactory IReadable) ⨯ (U nil String+ Uri)) → Any

  • ((U IRed java.io.Reader IAcquirableFactory IReadable) ⨯ (Maybe String+) ⨯ (Maybe String+)) → Any

Reads and evaluates data from x, where the location of data is given in uri or in path and name. Returns the result of evaluation of last expression in data source. x may be one of:

  • reducible collection (e.g. string, vector, …​)

  • resources or resource factories (e.g. file resource, classpath resource)

  • host reader object (e.g. java.io.Reader instance in JVM)

If input data is in bytes, it is automatically parsed with utf-8 parser before reading.

See also: compile!, require!, loaded, ns

loaded

Available since version 1.0 (alias of clojure.core/loaded-libs)

not referred automatically

Usage:
  • (loaded)

Type signature:
  • () → IRed

Returns a sorted set of symbols naming the currently loaded libs.

See also: load!, require!

ns

Available since version 1.0 (alias of clojure.core/ns)

not referred automatically

MACRO (ns name docstring? attr-map? references*)

Same as clojure.core/ns, with additional support for :api.

require!

Available since version 1.0 (alias of clojure.core/require)

not referred automatically

Usage:
  • (require! & args)

Same as clojure.core/require.

Loads libs, skipping any that are already loaded. Each argument is either a libspec that identifies a lib, a prefix list that identifies multiple libs whose names share a common prefix, or a flag that modifies how all the identified libs are loaded.

Use :require in the ns macro in preference to calling this directly.

See also: load!, compile!