[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
issue QUOTE-MAY-COPY, version 2
- To: sandra%defun@cs.utah.edu
- Subject: issue QUOTE-MAY-COPY, version 2
- From: Jon L White <jonl@lucid.com>
- Date: Wed, 14 Dec 88 00:34:11 PST
- Cc: cl-compiler@sail.stanford.edu
- In-reply-to: Sandra J Loosemore's message of Sat, 10 Dec 88 12:12:08 MST <8812101912.AA02084@defun.utah.edu>
A few little points:
re: QUOTE-MAY-COPY:ALWAYS
To me, the choice of names for this alternative is somewhat loaded; it
seems to imply "excesssive, copying work must ALWAYS take place". How
about a name like EXPLICITLY-VAGUE? At issue is not the requirement
to do copying at all, but merely the prohibition from depending on the
address of the constant obtained from the special form (QUOTE <foo>).
re: If an implementation chooses to copy constants, the copying may only
happen once each time the form containing the constant is processed
with COMPILE or EVAL (see examples below).
This seems a bit fuzzy to me. Why not simply say that successive
evaluations of a form (QUOTE <foo>) must all be EQL? then you could
point out in an implementational note that this means you are restricted
to copying a given instance of a constant at most once.
I'd like to see a bit more of the burden laid on the feet of those who
feel that it is so important to retain EQ-semantics for quoted constants.
That is _definitely_ not the current practice for compiled files; so
how can reasonable, portable programs depend on this mistaken notion?
True, no current EVAL implementation goes to the effort to do anything
other than return a piece of the encoded program; but slightly more
clever interpreters/compilers could do so. An EXPLICITLY-VAGUE proposal
simply gives an implementor the license to do the same tricks for EVAL
that so many do for COMPILE-FILE.
-- JonL --