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

Re: issue QUOTE-MAY-COPY, version 1

Taking this opportunity to also respond to a related earlier note
of JonL's:

> . . .
> However, I don't think it is right to say that READ constructs up 
> "constants".  Note that READ absolutely cannot know whether some structure 
> it cons'd up is a constant or not.  A piece of data only becomes a program
> "constant" when it is EVAL'd in the proper context (or "compiled"); 
> otherwise, it is just as random as any other cons cell or string lying 
> around in memory.  . . .

My personal intuition is that (potentially) readonly constants are
created sometime during loading of a compiled file, and that as far
as a user of the language is concerned, the constants are *created*
in their coalesced, copied, readonly, or whatever state.

There may be other self-consistent and reasonable points of view.  This
point of view makes sense to me, fits CLtL's existing specification of
QUOTE, and I think satisfies Pitman's concerns.