The special form
quote returns its single argument, as written,
without evaluating it. This provides a way to include constant symbols
and lists, which are not self-evaluating objects, in a program. (It is
not necessary to quote self-evaluating objects such as numbers, strings,
This special form returns object, without evaluating it. The returned value might be shared and should not be modified. See Self-Evaluating Forms.
quote is used so often in programs, Lisp provides a
convenient read syntax for it. An apostrophe character (‘'’)
followed by a Lisp object (in read syntax) expands to a list whose first
quote, and whose second element is the object. Thus,
the read syntax
'x is an abbreviation for
Here are some examples of expressions that use
(quote (+ 1 2)) ⇒ (+ 1 2)
(quote foo) ⇒ foo
'foo ⇒ foo
''foo ⇒ 'foo
'(quote foo) ⇒ 'foo
['foo] ⇒ ['foo]
Although the expressions
(list '+ 1 2) and
'(+ 1 2)
both yield lists equal to
(+ 1 2), the former yields a
freshly-minted mutable list whereas the latter yields a list
built from conses that might be shared and should not be modified.
See Self-Evaluating Forms.
Other quoting constructs include
function (see Anonymous Functions), which causes an anonymous lambda expression written in Lisp
to be compiled, and ‘`’ (see Backquote), which is used to quote
only part of a list, while computing and substituting other parts.