[r6rs-discuss] macroexpand

From: Dan Muresan <dan-r6rs>
Date: Fri Sep 22 19:14:31 2006

> Let's get the history straight here. R0RS (1975) had AMACRO, and R1RS
> (1978) had MACRO, and they worked like define-macro, though there was
> no equivalent of macroexpand. However, these reports described only the
> primeval Scheme embedded in MacLisp, and they have been totally obsolete
> since the publication of R2RS in 1985.

OK, you're right. I assumed that Scheme branched off from Lisp, which has
"always" had macroexpand -- or is this also not true?

> (Personally, you couldn't pay me to use define-macro. I don't have that
> much faith in my own omniscience.)

That's understandable, though I don't share that feeling...

I just re-read PG's On Lisp to review the problems with non-hygienic
macros. In my experience, wrapping the expansion in (let) and using
(gensym) is almost always enough -- but syntactic-sugar macros tend to be
more difficult indeed.

In my case, I would never give up macroexpand (especially since I have
code that depends on it, and I like what the code does).

Best,
Dan Muresan
http://alumnus.caltech.edu/~muresan
Received on Fri Sep 22 2006 - 19:14:12 UTC

This archive was generated by hypermail 2.3.0 : Wed Oct 23 2024 - 09:15:01 UTC