[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: issue COMPILE-ENVIRONMENT-CONSISTENCY
- To: masinter.pa@Xerox.COM
- Subject: Re: issue COMPILE-ENVIRONMENT-CONSISTENCY
- From: sandra%defun@cs.utah.edu (Sandra J Loosemore)
- Date: Fri, 6 Jan 89 16:41:39 MST
- Cc: cl-compiler@sail.stanford.edu
- In-reply-to: masinter.pa@Xerox.COM, 5 Jan 89 21:27 PST
> Date: 5 Jan 89 21:27 PST
> From: masinter.pa@Xerox.COM
>
> "The compiler may assume that functions that are defined and
> declared INLINE in the compiletime environment will retain the same
> definitions at runtime."
>
> really means is that when calling a function that was originally defined
> and declared INLINE but, at some later point in time, redefined, the
> results are unspecified in that either the old (INLINE-proclaimed) or new
> definition might be invoked.
Exactly. The introductory part of section 2 says very much the same
thing, along with a statement that user code must ensure that things the
compiler is allowed to wire in are defined consistently at both compile
and run time.
> We had considerable debate about 2b (I think on the common lisp mailing
> list.)
I don't remember this. It seemed noncontroversial to us; so many
implementations do this that it appeared just to be a statement of
current practice.
>2d is subsumed by cleanup LISP-SYMBOL-REDEFINITION, is it not?
At least the part about not redefining the functions. This issue was
drafted before we saw LISP-SYMBOL-REDEFINITION.
> 2f means that you can't change a DEFCONSTANT, doesn't it?
Yes. This is merely a restatement of what CLtL already says on p. 68-69.
-Sandra
-------