[plt-scheme] composing syntax-case macros?

From: Eli Barzilay (eli at barzilay.org)
Date: Fri Jan 16 21:45:47 EST 2009

On Jan 16, Ryan Culpepper wrote:
> YC wrote:
> > On Fri, Jan 16, 2009 at 3:52 PM, Ryan Culpepper <ryanc at ccs.neu.edu> wrote:
> >> The problem comes from having macros introduce unhygienic
> >> bindings of 'it'.  A better way to do it would be to bind 'it' to
> >> a syntax parameter and update the meaning of 'it' in the
> >> expansion of an 'if-it' expression (using 'syntax-parameterize').
> > 
> > This is macro voodoo! ;) I'll have to learn more about syntax
> > parameters and transformers.  Is there some sort of guide docs
> > that talks about how and why (usages) on these capabilites?
> I wrote a blog post about syntax parameters a couple years ago:
> http://macrologist.blogspot.com/2006/04/macros-parameters-binding-and.html

You can also see


which is explaining exactly an if-it variant.

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                  http://www.barzilay.org/                 Maze is Life!

Posted on the users mailing list.