defs name to have the root value of the expr iff the named var has no root value, else expr is unevaluated
Defines a test function with no arguments. Test functions may call other tests, so tests may be composed. If you compose tests, you should also define a function named test-ns-hook; run-tests will call test-ns-hook instead of testing all vars. Note: Actually, the test body goes in the :te...
Like defn, but the resulting function name is declared as a macro and will be used as a macro by the compiler when it is called.
Creates a new multimethod with the associated dispatch function. The docstring and attr-map are optional. Options are key-value pairs and may be one of: :default The default dispatch value, defaults to :default :hierarchy The value used for hierarchical dispatch (e.g. ::square is-a ...
Do not call this directly, use 'def'
Like deftest but creates a private var.
Same as (def name (create-struct keys...))
Experimental - like defmacro, except defines a named function whose body is the expansion, calls to which may be expanded inline as if it were a macro. Cannot be used with variadic (&) args.
Creates and installs a new method of multimethod associated with dispatch-value.
(defrecord name [fields*] options* specs*) Options are expressed as sequential keywords and arguments (in any order). Supported options: :load-ns - if true, importing the record class will cause the namespace in which the record was defined to be loaded. Defaults t...