CLCS
Special Operator

quote

quote objectobject

Arguments and Values

objectan object; not evaluated.

Description

The quote special operator just returns object.

The consequences are undefined if literal objects (including quoted objects) are destructively modified.

Examples

 (setq a 1) ⇒  1
 (quote (setq a 3)) ⇒  (SETQ A 3)
 a ⇒  1
 'a ⇒  A
 ''a ⇒  (QUOTE A) 
 '''a ⇒  (QUOTE (QUOTE A))
 (setq a 43) ⇒  43
 (list a (cons a 3)) ⇒  (43 (43 . 3))
 (list (quote a) (quote (cons a 3))) ⇒  (A (CONS A 3)) 
 1 ⇒  1
 '1 ⇒  1
 "foo" ⇒  "foo"
 '"foo" ⇒  "foo"
 (car '(a b)) ⇒  A
 '(car '(a b)) ⇒  (CAR (QUOTE (A B)))
 #(car '(a b)) ⇒  #(CAR (QUOTE (A B)))
 '#(car '(a b)) ⇒  #(CAR (QUOTE (A B)))

Notes

The textual notation 'object is equivalent to (quote object); see Compiler Terminology.

Some objects, called self-evaluating objects, do not require quotation by quote. However, symbols and lists are used to represent parts of programs, and so would not be useable as constant data in a program without quote. Since quote suppresses the evaluation of these objects, they become data rather than program.