Literal expressions
(quote
{datum}
)
syntax
'
{datum}
syntax
{constant}
syntax
(quote datum) evaluates to datum.
Datum
can be any external representation of a Scheme object (see
section 3.3). 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.
'145932 ==> 145932
145932 ==> 145932
'"abc" ==> "abc"
"abc" ==> "abc"
'#(a 10) ==> #(a 10)
#(a 10) ==> #(a 10)
'#u8(64 65) ==> #u8(64 65)
#u8(64 65) ==> #u8(64 65)
'#t ==> #t
#t ==> #t
As noted in section 3.4, 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! .
|