Next: Procedure calls, Previous: Variable references, Up: Primitive expression types [Index]
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 (basic)). 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 ⇒ #\a #\a ⇒ #\a '#(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 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!
.