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

draft of alternate proposal for EVAL-WHEN-NON-TOP-LEVEL



    Date: Tue 28 Feb 89 13:43:00-PST
    From: Kim A. Barrett <IIM@ECLA.USC.EDU>

    ...
    I think that if that got compiled then FOO should be a function of no arguments
    which does nothing and returns NIL.  I want a way to distinguish between
    interpreted and compiled cases.

I take it to be a `given' that you should not have [portable] 
primitives to distinguish between `interpreted' and `compiled' 
cases, since there is no clear definition of what that means
in the presence of both interpreted-only and compiled-only
systems, and since (as a consequence) I think there is no reasonable
way for a portable program to make use of such knowledge.

On the other hand, I don't have an opposition to distinguishing
file-compiled from non-file compiled. The definition given by Moon and
me in v5 does so.  Whether you have called COMPILE-FILE -is- something
that is invariant across implementations, and something which can be
simulated in an interpreted-only implementation (by making compile-file
just do macroexpansion) and which has real consequences which go beyond
implementation strategy (because of issues of `persistence of
environment', etc. -- the same issues that come up in the quote-equality
thing).