[PRL] torture chamber tomorrow Monday 12pm 366

Ryan Culpepper ryanc at ccs.neu.edu
Sun Sep 10 22:42:38 EDT 2006


I will practice my Scheme workshop talk tomorrow at noon in WVH 366.
Please come if you are able to attend.

Title: A Stepper for Scheme Macros

Abstract:
Even in the days of Lisp's simple defmacro systems, macro
developers did not have adequate debugging support from their
programming environment. Modern Scheme macro expanders are more
complex than Lisp's, implementing lexical hygiene, referential
transparency for macro definitions, and frequently source
properties. Scheme implementations, however, have only adopted Lisp's
inadequate macro inspection tools. Unfortunately, these tools rely on
a naive model of the expansion process, thus leaving a gap
between Scheme's complex mode of expansion and what the programmer
sees.

In this paper, we present a macro debugger with full support for
modern Scheme macros. To construct the debugger, we have extended the
macro expander so that it issues a series of expansion events.  A
parser turns these event streams into derivations in a natural
semantics for macro expansion.  From these derivations, the debugger
extracts a reduction-sequence (stepping) view of the expansion. A
programmer can specify with simple policies which parts of a
derivation to omit and which parts to show. Last but not least, the
debugger includes a syntax browser that graphically displays the
various pieces of information that the expander attaches to syntactic
tokens.





More information about the PRL mailing list