API for macro-utils - clojure-contrib v1.2 (stable)

by Konrad Hinsen

clojure-contrib is now deprecated

clojure-contrib is no longer being developed or maintained.

Rather than a single, monolithic, contributions library, Clojure now has a set of separate libraries for each unit of functionality. The libraries are in the Clojure GitHub organization at https://github.com/clojure. API documentation of the libraries can be found at https://clojure.github.io.

If you're looking for a specific function or namespace from the old clojure-contrib, see "Where Did Clojure.Contrib Go".


Full namespace name: clojure.contrib.macro-utils

Overview

Local macros and symbol macros

Local macros are defined by a macrolet form. They are usable only
inside its body. Symbol macros can be defined globally
(defsymbolmacro) or locally (symbol-macrolet). A symbol
macro defines a form that replaces a symbol during macro
expansion. Function arguments and symbols bound in let
forms are not subject to symbol macro expansion.

Local macros are most useful in the definition of the expansion
of another macro, they may be used anywhere. Global symbol
macros can be used only inside a with-symbol-macros form.

Public Variables and Functions



defsymbolmacro

macro
This library, clojure-contrib, is deprecated. See here for more information.
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


deftemplate

macro
This library, clojure-contrib, is deprecated. See here for more information.
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


macrolet

macro
This library, clojure-contrib, is deprecated. See here for more information.
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


mexpand

function
This library, clojure-contrib, is deprecated. See here for more information.
Usage: (mexpand form)
Like clojure.core/macroexpand, but takes into account symbol macros.
Source


mexpand-1

function
This library, clojure-contrib, is deprecated. See here for more information.
Usage: (mexpand-1 form)
Like clojure.core/macroexpand-1, but takes into account symbol macros.
Source


mexpand-all

function
This library, clojure-contrib, is deprecated. See here for more information.
Usage: (mexpand-all form)
Perform a full recursive macro expansion of a form.
Source


symbol-macrolet

macro
This library, clojure-contrib, is deprecated. See here for more information.
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


with-symbol-macros

macro
This library, clojure-contrib, is deprecated. See here for more information.
Usage: (with-symbol-macros & exprs)
Fully expand exprs, including symbol macros.
Source
Logo & site design by Tom Hickey.
Clojure auto-documentation system by Tom Faulhaber.