On 7/25/06, Ola Bini <ola.bini / ki.se> wrote:
> Tomasz Wegrzanowski wrote:
> >> BTW, did you consider adding hygienic macros?
> >
> > I couldn't understand them from the standard, and Paul Graham
> > keeps saying that they're horrible, so I wasn't very inclined to try :-)
> >
> > Can you show some examples where they are better ?
>
> Which standard?

Revised 5 Report on the Algorithmic Language Scheme.

> Paul Graham obviously knows what he's talking about, but there is such
> things as differing opinions. Wasn't it you talking about breaking with
> convention? Break with Graham, I say!
>
> Hygienic macros remove some of the power of macros, but the power of
> real macros is easier to misuse and get subtle errors from. Are you used
> to real ones, hygienic suck. But they're better for average developers
> (which is way Graham doesn't like them).

I agree with this sentiment, even if I often disagree with many of his opinions.

But I haven't really seen any serious examples where one macro system
is definitely better than another - like "we often want to do X, this is easy
in Common Lisp, but Scheme disallows it" or "we often want to do Y,
in Scheme we can do that directly, but in Common Lisp we have to use
such and such hacks or it breaks". It would be nice if some Lispers
described the issue for the rest of us :-)