Common Lisp the Language, 2nd Edition The standard way for the
user to interact with a Common Lisp implementation is via a
read-eval-print loop: the system repeatedly reads a form from
some input source (such as a keyboard or a disk file), evaluates
it, and then prints the value(s) to some output sink (such as a
display screen or another disk file). Any form (evaluable data
object) is acceptable; however, certain special forms are
specifically designed to be convenient for use as top-level
forms, rather than as forms embedded within other forms in the
way that (+ 3 4) is embedded within (if p (+ 3 4) 6). These top-
level special forms may be used to define globally named
functions, to define macros, to make declarations, and to define
global values for special variables. It is not illegal to use
these forms at other than top level, but whether it is
meaningful to do so depends on context. Compilers, for example,
may not recognize these forms properly in other than top-level
contexts. (As a special case, howeve