[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: issue LOAD-TIME-EVAL
- To: Jon L White <@sail.stanford.edu:firstname.lastname@example.org>, sandra <@cs.utah.edu:sandra@defun>
- Subject: Re: issue LOAD-TIME-EVAL
- From: Jeff Dalton <jeff%aiai.edinburgh.ac.uk@NSS.Cs.Ucl.AC.UK>
- Date: Tue, 10 Jan 89 01:50:39 GMT
- Cc: email@example.com, firstname.lastname@example.org
- In-reply-to: Jon L White's message of Sat, 7 Jan 89 01:21:27 PST
> At least one "wizard" at Lucid was thoroughly confused by the
> (CONS #1=(LOAD-TIME-VALUE (COMPUTE-IT)) #1#)
> example. Perhaps it needs to be fleshed out.
> I liked Aaron Larson's comment on the matter:
> "I was under the impression that the only loophole permitting the
> compiler to copy/substitute otherwise non EQ forms was with regard
> to QUOTE."
> That is, one might conceivable think of coalescing the two calls to
> LOAD-TIME-VALUE because of a sort of similarity to QUOTE.
I don't understand this remark. Aaron seems to be say that only
QUOTE allows EQ things to become non-EQ, and you seem to say that
only QUOTE allows non-EQ things to become EQ.
> Aaron further noted, the compiler cannot reduce the calls to CONS
> in the structurally isomorphic form:
> (EQ #1=(CONS 'A 'B) #1#)
> So why should LOAD-TIME-VALUE be any different.
> Also your comment about constraints on the interpreter could be helpful:
> ". . . but it's not legitimate to cache LOAD-TIME-VALUE forms and
> resulting values and do a lookup based on EQness of source code
> -- JonL --