[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
draft of alternate proposal for EVAL-WHEN-NON-TOP-LEVEL
- To: IIM@ECLA.USC.EDU
- Subject: draft of alternate proposal for EVAL-WHEN-NON-TOP-LEVEL
- From: Kent M Pitman <KMP@STONY-BROOK.SCRC.Symbolics.COM>
- Date: Tue, 28 Feb 89 17:23 EST
- Cc: sandra%defun@CS.UTAH.EDU, cl-compiler@SAIL.STANFORD.EDU
- In-reply-to: <12474359444.19.IIM@ECLA.USC.EDU>
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).