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

RMS



The poooooor compiler must intercept any flavor of DISPLACE and imitate
it without actually doing the RPLAC's, but rather by copying.  The reason
is that ocasionally the complr likes to "back-up", and any munging of the
original code (as read in) would be bad.  Even if there are multiple
pointers to a given cell in code, it would not be bad to run the
macro expander twice or more, since the macro-expansion occurs only
once per instance in code (rather than once per use in normal lisp
running enviromnent).  Apparently the expansion of macros more than once
(due to the "backing-up") has caused some consternation to some 
people, so it is apparently something a compiler user will have to
live with, or else use read-time macros (instead of eval-time macros
which BLAIR calls "meta-composition").