[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: issue QUOTE-MAY-COPY, version 2
- To: firstname.lastname@example.org, email@example.com
- Subject: Re: issue QUOTE-MAY-COPY, version 2
- From: cperdue@Sun.COM (Cris Perdue)
- Date: Wed, 14 Dec 88 09:49:40 PST
- Cc: firstname.lastname@example.org
> 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?
Let's do a thought experiment where there is a file "compiler" of the
kind described at one time by Sandra: Roughly speaking, it READs forms
from a file, macroexpands them, EVALs some at "compile" time, and
PRINTs (or perhaps something else rather like it) the macroexpanded
forms to an output file.
Now suppose that QUOTE "never copies". Load a source file, compile
it with this super-trivial compiler, get a pointer to at least one
of the quoted constants, then load the "compiled" output
of the compiler. Now compare the original quoted constant
that appeared in the source against the corresponding quoted constant
in the "compiled" code. They are not EQ. In fact they appear to be
copies, yet QUOTE *never copies*.
I claim that the apparent copying "isn't QUOTE's fault", and that
it happens regardless of the semantics of quote.