> Because of the concern of lexical scoping, Scheme macros are more than
> just symbolic expansions. Each symbol -- or name -- carries a meaning
> with it, a meaning that was assigned either at macro definition time
> or at macro invocation time.
So you agree that this is due to hygiene? macroexpand would have no
problems for define-macro macros, right? That's what I asked in a previous
message. Please let me know if you think this is not true.
If it is true, then it strengthens my conviction that hygienic macros are
more of a curse than a blessing. Look at all the contortions that smart
people like Oleg and Al Petrofsky went through just to get functionality
that's easily available as define-macro. CPS macros had to be invented
just to compute a factorial -- using Church numerals no less...
If at least we could have define-macro (and macroexpand), life would be
much easier.
But how can I expect this to pass? It has been decided in R5RS that
define-macro is not necessary. Then, once it became obvious how weak
syntax-rules are, it has been decided to throw another layer of complexity
at it -- syntax-case. And with all this stuff, I still can't have all the
power of Lisp macros... Why is this called progress?
Dan Muresan
http://alumnus.caltech.edu/~muresan
Received on Fri Sep 22 2006 - 14:15:15 UTC