macro
Usage: (defsymbolmacro symbol expansion)
Define a symbol macro. Because symbol macros are not part of
Clojure's built-in macro expansion system, they can be used only
inside a with-symbol-macros form.
Source
macro
Usage: (deftemplate name params & forms)
Define a macro that expands into forms after replacing the
symbols in params (a vector) by the corresponding parameters
given in the macro call.
Source
macro
Usage: (macrolet fn-bindings & exprs)
Define local macros that are used in the expansion of exprs. The
syntax is the same as for letfn forms.
Source
function
Usage: (mexpand form)
Like clojure.core/macroexpand, but takes into account symbol macros.
Source
function
Usage: (mexpand-1 form)
Like clojure.core/macroexpand-1, but takes into account symbol macros.
Source
function
Usage: (mexpand-all form)
Perform a full recursive macro expansion of a form.
Source
function
Usage: (name-with-attributes name macro-args)
To be used in macro definitions.
Handles optional docstrings and attribute maps for a name to be defined
in a list of macro arguments. If the first macro argument is a string,
it is added as a docstring to name and removed from the macro argument
list. If afterwards the first macro argument is a map, its entries are
added to the name's metadata map and the map is removed from the
macro argument list. The return value is a vector containing the name
with its extended metadata map and the list of unprocessed macro
arguments.
Source
macro
Usage: (symbol-macrolet symbol-bindings & exprs)
Define local symbol macros that are used in the expansion of exprs.
The syntax is the same as for let forms.
Source
macro
Usage: (with-symbol-macros & exprs)
Fully expand exprs, including symbol macros.
Source