This file contains the heart of the Pico evaluator. The evaluator heavily depends on the global environment of execution, named 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: