procedural ideas embodied by the interpreters we have presented. Consideration of syntactic transformations leads in the notion of meta-procedures, such as macros, compilers, and simplifiers. We will explore all of this in Parts Three and Four.
Acknowledgements
We would like to thank Johan De Kleer, Daniel L. Weinreb, Julie Sussman, Carl Hewitt, Richard Stallman, Jon Doyle, and Mitch Marcus for reading our draft. They found a few bugs and helped us refine our presentation. We also want to thank Hal Abelson and Robert Fano for help and encouragement. Finally, we must thank John McCarthy. Besides responding to our messages and answering questions about the early history of LISP, it was all his idea in the first place and we are continually amazed at the beauty and power of his conception.