www.delorie.com/gnu/docs/guile/r5rs_27.html   search  
 
Buy GNU books!


Revised(5) Scheme

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.1.2 Literal expressions

syntax: quote <datum>

syntax: '<datum>

syntax: <constant>

`(quote <datum>)' evaluates to <datum>. <Datum> may be any external representation of a Scheme object (see section see section 3.3 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 3.4 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!'.


  webmaster     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003