[plt-scheme] Macro practice

From: Dimitris Vyzovitis (vyzo at media.mit.edu)
Date: Fri Apr 24 17:29:06 EDT 2009

On Fri, 24 Apr 2009, Matthias Felleisen wrote:

>
> Todd, for the record, existing hygienic macro systems are MORE expressive 
> than existing unhygienic macro systems. (I suspect that this could also be 
> applied to theoretical models, but these models aren't complete enough to 
> make this comparison meaningful.)
>
> I urge you to start with a study of syntax-rules (a la TSPL or TYS) and then 
> to proceed to syntax-case and friends. By that point Ryan will have finished 
> his tutorial on syntax programming in PLT and you'll be in shape to increase 
> your productivity by an order of magnitude. (Just as Paul Graham says)

I think the eccentric guide to syntax-rules is as good as any place to 
start:
http://www.xs4all.nl/~hipster/lib/scheme/gauche/define-syntax-primer.txt

I would do syntactic-closures before syntax-case; Read Waddell's 
thesis and the psyntax implementation next.

At this point, you finally get to realize that Mathias is 
absolutely right: hyiegenic macros, equipped with low level access to the 
expander (as provided for instance from the plt macro system) are 
immensely more expressive than non-hyiegenic macros.

-- vyzo


Posted on the users mailing list.