[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


> This is a real example from the A-Lisp compiler.

OK, I think I see the sort of thing you have in mind.  But now I
have another question.  Even without the explicit provision for
reordering, the compiler or interpreter could rewrite code in various
ways provided that it was impossible (module efficiency) to tell that
it had done so.  So what do we gain from the explicit provision?
The key word seems to be "process".  The forms might be "processed"
in an arbitrary order.  As far as I can tell, the only user-visible
part of processing is macro-expansion.  Is that all there is to it,
that the order in which macro calls are expanded is undefined?