constant."> constant.">

4.1.2 Literal expressions

syntax: (quote datum)
syntax: 'datum
syntax: constant

(quote datum)’ evaluates to datum. Datum can be any external representation of a Scheme object (see External representations). This notation is used to include literal constants in Scheme code.

(quote a)a
(quote #(a b c))#(a b c)
(quote (1 2))(1 2)

(quote datum)’ can be abbreviated as ‘'datum’. The two notations are equivalent in all respects.

'a         ⇒ a
'#(a b c)#(a b c)
'()()
'(1 2)(1 2)
'(quote a)(quote a)
''a        ⇒ (quote a)

Numerical constants, string constants, character constants, vector constants, bytevector constants, and boolean constants evaluate to themselves; they need not be quoted.

'145932145932
145932145932
'"abc""abc"
"abc""abc"
'#\a#\a
#\a#\a
'#(10)#(10)
#(10)#(10)
'#u8(64 65)#u8(64 65)
#u8(64 65)#u8(64 65)
'#t#t
#t#t

As noted in section 3.4 (Storage model), it is an error to attempt to alter a constant (i.e., the value of a literal expression) using a mutation procedure like set-car! or string-set!.