There was a problem when proofreading this page.
Steele and Sussman
67
The Art of the Interpreter
{Value Quibble} Page 8
"Did he ever return?
No, he never returned,
And his fate is still unlearned..."
— The Man Who Never Returned
(Charlie on the MTA)
We said "EVAL
's purpose is to determine the values of expressions". But what is the value of the expression (DRIVER)
? It is certainly not an illegal or useless expression to evaluate, yet it has no value. The purpose of the expression is to cause a certain process to be evolved; it is an "infinite loop", which never returns. This process includes side effects (READ
and PRINT
) through which it interacts with the user. This situation arises because the system of interest is broken into two parts with independent state: the computer and the user. We will have more to say about this later.