> Just to add some details. The macro expander is called twice in the > example because CMUCL has (sort of) two interpreters. The first > interpreter is very simple and deals only with simple but common > cases, the second interpreter is basically the first stage of the > compiler (see EVAL for details). The simple interpreter macroexpands > your example and decides that it can't handle it and passes the > unexpanded form to the second interpreter and so the form gets expanded > a second time.
Ah, I see. So basically the form that is used is always the second one? At any rate, thanks a lot for this clarification! Albert.
