DCT
. At any time, this variable contains the 'current
environment'. So we can think of it as if every procedure of the evaluator
is parametrised by this variable. The 'procedure of all procedures' of this file is
eval.
Basic Idea of the Evaluator: Because Pico is a procedural language,
the basic activity of the Pico interpreter is to apply procedures. Of
course, once a procedure is applied, its body needs to be evaluated. And
evaluating such body will in its turn give rise to the applying procedures.
Hence, the skeleton of the Pico interpreter is a recursive interplay
between eval
and call_function
(normally
called apply
). Understanding the coarse grained
structure of this recursive interplay is the first level of understanding
the MC-eval. The interplay between eval
and
call_function
is the first magic spell that enables the magic
of running Pico programs. Now that you know this, just have a second look
at the front page of your Abelson&Sussman book: