[plt-scheme] Another macro venture

From: Eli Barzilay (eli at barzilay.org)
Date: Sat Sep 9 14:57:37 EDT 2006

On Sep  9, Blake McBride wrote:
> At 12:13 PM 9/9/2006, Eli Barzilay wrote:
> > [...]
> >which is even simpler than that:
> >
> >   (define set namespace-set-variable-value!)
> >
> >--
> I appreciate the help but your suggestions kind of defeat my
> purposes.  First, I'm trying to stick with standard scheme.  Second,
> I'm trying to get a handle on syntax-case.  A solution to my
> unmolested and unqualified problem would be a big help and greatly
> appreciated.

The exercise that Jens offered is generally the way to tackle macro
problems (that's actually the case for all macro systems).  What I
claim is that you will find that there is no solution that is
portable, since to do this you need some reflection mechanism (some
reification of the [global] environment).  Bill's solution uses
Scheme's canonical reflective device, but that suffers (again) from
the illnesses of the toplevel.  (And I think that `eval' is one
standard feature that can be difficult to deal with if you want
portable behavior.)

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

Posted on the users mailing list.