Quoting and unquoting code

We will now explore quoting and unquoting, which are techniques used to generate expressions based on a predefined template for an expression. These techniques are foundational in creating macros, and they help structure the code of a macro to look more like its macroexpanded form.

Note

The following examples can be found in src/m_clj/c4/ quoting.clj of the book's source code.

The quote form simply returns an expression without evaluating it. This may seem trivial, but preventing the evaluation of an expression is actually something that is not possible in all programming languages. The quote form is abbreviated using the apostrophe character ('). If we quote an expression, it is returned in verbatim, as shown here:

user> ...

Get Clojure: High Performance JVM Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.