>>>> "Craig" == Craig Lanning
<CraigL(a)internetx.net> writes:
Craig> If the macro is expanded at top level then there are no lexical bindings
Craig> between it and whatever binding it may reference at top level. Your
Craig> revised example had a lexical binding between the macro use and top level.
Yes, that's exactly the point.
Craig> That still doesn't explain how using macroexpand limits the
Craig> complexity of the macros that you can write.
Using in itself doesn't. However, if I *need* macroexpand to write
the macro and check the quoting/unquoting and the hygiene, there is a
limit at least to my perception as to what size macro expansions I can
still grok. Maybe it gets better with practice.
Craig> Macros do not really reference bindings. They alter the lexical environment
Craig> by making potentially complex substitutions.
That's what they do in Common Lisp. In Scheme, it's different.
--
Cheers =8-} Chipsy
Friede, Völkerverständigung und überhaupt blabla