dan-r6rs at omnigia.com
Fri Sep 22 13:11:12 EDT 2006
> 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
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.
More information about the r6rs-discuss