Subject: Re: `fast' global variables (Ex: Re: ??: using * for variable ?)
From: Erik Naggum <>
Date: 1999/03/22
Newsgroups: comp.lang.lisp
Message-ID: <>

* ANSI X3.226-1994
| Semantic Constraints
| (...)
| Constant variables defined in the compilation environment must have a
| similar value at run time. A reference to a constant variable in source
| code is equivalent to a reference to a literal object that is the value
| of the constant variable.

* (Mike McDonald)
| It says the object, not the contents of the object.

  I think you need to look up `literal object':

literal adj. (of an object) referenced directly in a program rather than
being computed by the program; that is, appearing as data in a quote form,
or, if the object is a self-evaluating object, appearing as unquoted data.
``In the form (cons "one" '("two")), the expressions "one", ("two"), and
"two" are literal objects.''

  such objects are immutable:

constant object n. an object that is constrained (e.g., by its context in a
program or by the source from which it was obtained) to be immutable.  ``A
literal object that has been processed by compile-file is a constant object.''