Home
 
The JFP Page
Pearls Home
The Pearls
TeX Style

Educational Pearl: Automata via macros

Shriram Krishnamurthi

Lisp programmers have long used macros to extend their language. Indeed, their success has inspired macro notations for a variety of other languages, such as C and Java. There is, however, a paucity of effective pedagogic examples of macro use. This paper presents a short, non-trivial example that implements a construct not already found in mainstream languages. Furthermore, it motivates the need for tail-calls, as opposed to mere tail-recursion, and illustrates how support for tail-call optimization is crucial to support a natural style of macro-based language extension.

last updated on Sat Jan 27 11:42:50 EST 2007generated with PLT Scheme