Abstract

In this article we present a technique for visualizing evaluation in applicative languages that helps to graphically explain a number of basic concepts, including lexical vs dynamic scoping, closures, local and special variables, and macro expansion. Called notation, it appears in a recent textbook by the first author and has been employed in several courses at Carnegie Mellon. Although our discussion focuses primarily on the notation itself, we also provide some insights into the implementation of Lisp and Scheme interpreters and the differences between the lexical and dynamic scoping disciplines. It is our hope that evaltrace notation will be widely adopted by Lisp educators. In support of this, we have made available a set of I£IgX macros to allow others to produce evaltrace diagrams similar to the ones that appear here. Thii research was supported in part by the Office of Naval Research under contract N00014-S4-K-0415 and in part by the Defense Advanced Research Projects Agency (DOD), ARPA Order No. 5404, monitored by the Office of Naval Research under the same contract. The views and conclusions contained in this document are those of the authors) and should not be interpreted as representing the official policies, either expressed or implied, of the Defense Advanced Research Projects Agency or the U.S. government Visualizing Evaluation 1

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call