#### 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 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!`’.