Date of Original Version



Technical Report

Rights Management

All Rights Reserved

Abstract or Description

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 'evaltrace 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 LAT[subscript E]X macros to allow others to produce evaltrace diagrams similar to the ones that appear here."