GNU Info

Info Node: (emacs-lisp-intro.info)Evaluation

(emacs-lisp-intro.info)Evaluation


Next: Variables Prev: Lisp Interpreter Up: List Processing
Enter node , (file) or (file)node

Evaluation
==========

   When the Lisp interpreter works on an expression, the term for the
activity is called "evaluation".  We say that the interpreter
`evaluates the expression'.  I've used this term several times before.
The word comes from its use in everyday language, `to ascertain the
value or amount of; to appraise', according to `Webster's New
Collegiate Dictionary'.

   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
what is called 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.  The jargon can sound peculiar, but it turns out that
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.

Evaluating Inner Lists
Lists within lists...

automatically generated by info2www version 1.2.2.9