November 20, 2006
The macro stepper is a new DrScheme tool for debugging macros. It shows macro expansion as a sequence of rewriting steps, where a step is either a single macro transformation or an operation performed by a primitive syntactic form. The graphical display lets the programmer investigate binding and source properties of the syntax involved in expansion.
The macro stepper is built around three pillars:
The macro stepper presents macro expansion as a sequence of rewriting steps. It offers the usual navigation capabilities for stepping debuggers.
Program fragments are represented as syntax objects. Syntax objects represent a rich array of information about programs, including apparent binding structure, source location information. The stepper’s syntax browser displays basic binding information using colors and organizes other syntax information into a side-panel.
Programmers rarely want to see the expansion of all the macros in a program. They usually just want to see their macros. The macro stepper’s macro hiding facility hides the expansion of language macros and library macros by default.
This manual is organized around those three topics.