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

Multiple LAMBDA evaluations



I guess the main difference is how the system is viewed.  We view the
system as an interpreted system primarily, and compilation is
something we put up with only for the sake of efficiency on the kinds
of machines we unfortunately have to work with.  Ideally compilation
preserves the behaviour even as far as things like TRACE or
PROCEDURE-ENVIRONMENT are concerned, thus those optimizations would
not be allowed in the absence of declarations.  In practice, given the
limitations of the hardware we deal with, we allow some of these
conceptual declarations to be implicit in the compiler (otherwise
there would be no use to compiling in the first place).  Thus we
tolerate potential incompatibilities between compiled and interpreted
code because of efficiency constraints.  We view compilation as
something that happens only after the code has being debugged
significantly, so the above procedures are unlikely to be used at this
stage.