> Since expansion of a form depends on the context in which the form
> occurs, it is necessary to have more than one expander. As an example,
> PLT Scheme has local-expand, local-transformer-expand,
> local-expand/capture-lifts, local-transformer-expand/capture-lifts,
> expand, expand-once and finally expand-to-top-form.
This is due to hygiene and all that, right? define-macro macros wouldn't
have this ambiguity. I guess I just want macroexpand as a counterpart to
define-macro.
If the above is correct, this is another instance where Scheme loses the
power of Scheme macros. Without macroexpand, how can I define a macro that
expands its arguments before processing them? Again, there are strong
reasons why such macros are useful.
Best,
Dan Muresan
http://alumnus.caltech.edu/~muresan
Received on Fri Sep 22 2006 - 13:11:12 UTC