eintr: How the Interpreter Acts
How the Lisp Interpreter Acts
-----------------------------
After evaluating an expression, the Lisp interpreter will most likely
“return” the value that the computer produces by carrying out the
instructions it found in the function definition, or perhaps it will
give up on that function and produce an error message. (The interpreter
may also find itself tossed, so to speak, to a different function or it
may attempt to repeat continually what it is doing for ever and ever in
an infinite loop. These actions are less common; and we can ignore
them.) Most frequently, the interpreter returns a value.
At the same time the interpreter returns a value, it may do something
else as well, such as move a cursor or copy a file; this other kind of
action is called a “side effect”. Actions that we humans think are
important, such as printing results, are often side effects to the Lisp
interpreter. It is fairly easy to learn to use side effects.
In summary, evaluating a symbolic expression most commonly causes the
Lisp interpreter to return a value and perhaps carry out a side effect;
or else produce an error.