[plt-scheme] Macro practice
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