EnvDraw is a environment diagramming package which draws environment diagrams as taught in Abelson and Sussman's Structure and Interpretation of Computer Languages.
It was written as an instructional tool for the CS61A course at the University of California at Berkeley.
The environment diagrammer is a metacircular evaluator which draws procedures, environments, and box and pointer diagrams along with all the accompanying symbols and mutation. It includes a box and pointer diagrammer which handles circular list structures, cons cell mutation, and also will watch for modification of any symbols known to be pointing to drawn cells.
Envdraw can be downloaded from the following URL: http://kaolin.unice.fr/STk/Contribs