It is up to the caller of read whether this object is a form to be evaluated, or serves some entirely different purpose. See section Input Functions . Do not confuse evaluation with command key interpretation. The execution of the command itself involves evaluation if the command is written in Lisp, but that is not a part of command key interpretation itself. See section Command Loop .
Evaluation is a recursive process.
That is, evaluation of a form may cause eval to be called again in order to evaluate parts of the form. For example, evaluation of a function call first evaluates each argument of the function call, and then evaluates each form in the function body. The evaluation of forms takes place in a context called the environment , which consists of the current values and bindings of all Lisp variables. Whenever the form refers to a variable without creating a new binding for it, the value of the binding in the current environment is used. See section Variables .