[plt-scheme] composing syntax-case macros?
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
http://blog.plt-scheme.org/2008/02/dirty-looking-hygiene.html
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!