Next: Procedure calls, Previous: Variable references, Up: Primitive expression types [Contents][Index]
‘(quote <datum>)’ evaluates to <datum>. <Datum> may be any external representation of a Scheme object (see section 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>)’ may 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, and boolean constants evaluate “to themselves”; they need not be quoted.
'"abc" ==> "abc" "abc" ==> "abc" '145932 ==> 145932 145932 ==> 145932 '#t ==> #t #t ==> #t
As noted in section Storage model, it is an error to alter a constant (i.e. the value of a literal expression) using a mutation procedure like ‘set-car!’ or ‘string-set!’.