Common Lisp the Language, 2nd Edition

next up previous contents index
Next: Variables Up: Forms Previous: Forms

5.1.1. Self-Evaluating Forms

All numbers, characters, strings, and bit-vectors are self-evaluating forms. When such an object is evaluated, that object (or possibly a copy in the case of numbers or characters) is returned as the value of the form. The empty list (), which is also the false value nil, is also a self-evaluating form: the value of nil is nil. Keywords (symbols written with a leading colon) also evaluate to themselves: the value of :start is :start.

X3J13 voted in January 1989 (CONSTANT-MODIFICATION)   to clarify that it is an error to destructively modify any object that appears as a constant in executable code, whether as a self-evaluating form or within a quote special form.