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

Re: issue QUOTE-MAY-COPY, version 3

I am opposed to all of the proposals offered in their current

CLtL takes a simple, useful approach to this problem.  The idea
that QUOTE cannot reasonably operate as defined in CLtL is incorrect,
though it appears desirable to explain somewhere the "copying"
effects that compile-file may have on constants.

To say that QUOTE copies in existing implementations is to
imply that a lot of copying might happen that never actually
happens.  COMPILE-FILE followed by LOAD effectively copies,
and in KCL, COMPILE effectively makes a copy, but not QUOTE.

I object strongly to suggestions that QUOTE copies in existing
practice, at least existing practice as I know it.  Among other things,
this skews the entire discussion.  It also limits the set of datatypes
that can be QUOTEd, because the equivalence defined in
CONSTANT-COMPILABLE-TYPES does not support all datatypes.

It is possible for QUOTE or a garbage collector to copy
constants into readonly storage, but I think that rationale is
different from supporting existing practice.  With that rationale
I might support something like QUOTE-MAY-COPY:ALWAYS, but I think
it would be questionable whether the equivalence defined in
CONSTANT-COMPILABLE-TYPES is sufficient.  A version
that applies to all objects might be advisable as the equivalence
maintained by QUOTE.