[plt-scheme] Macro practice
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)
On Apr 24, 2009, at 12:32 PM, Tim Wawrzynczak wrote:
> Honestly, if you really want to see the power of macros, look
> through Paul Graham's 'On Lisp.' Granted, it's written from the
> perspective of Common Lisp, but the general idea is applicable to
> most Lisps. Some things won't work, b/c I dont' believe Scheme's
> hygienic macros even allow variable capture, but overall it's an
> excellent treatise on Lisp macros.
>
> http://www.paulgraham.com/onlisp.html
>
> Tim
>
> On Fri, Apr 24, 2009 at 11:25 AM, Chongkai Zhu <czhu at cs.utah.edu>
> wrote:
> Also chapter 8 or TSPL
>
> http://www.scheme.com/tspl3/syntax.html#./syntax:h0
>
> Chongkai
>
>
> Todd O'Bryan wrote:
> I'm trying to learn about macros. Does anybody teach the concept and
> have lecture notes (that'd be great) or some sample problems to try
> (which would be wonderful)?
>
> Todd
> _________________________________________________
> For list-related administrative tasks:
> http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>
>
> _________________________________________________
> For list-related administrative tasks:
> http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>
> _________________________________________________
> For list-related administrative tasks:
> http://list.cs.brown.edu/mailman/listinfo/plt-scheme
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20090424/760711c3/attachment.html>