[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: issue CLOS-MACRO-COMPILATION, version 4
Date: Wed, 21 Jun 89 17:44:20 MDT
From: sandra%defun@cs.utah.edu (Sandra J Loosemore)
...
> - DEFMETHOD may not pollute the compile time environment by augmenting
> the generic function at that time.
The intent is that simply *compiling* a DEFMETHOD won't pollute the
compile time environment. I agree this could perhaps be made more
explicit.
I guess the problem was that because the previous thing (about DEFGENERIC)
had forced me to contort the meanings of some of the words, there was a
tendency for me to wonder if there were hidden meanings in some of the others.
> Actually, on an unrelated point, I guess I am also slightly nervous
> about the vague phrasing "may try to evaluate" (e.g., in discussion of
> EQL specializers).
This wording was taken from the amendment Gregor proposed at the last
meeting. I have not presumed to try to interpret what it means. I
personally think we would be better off deleting this particular
sentence from the proposal, and sticking with the simple statement
that EQL specializer forms are evaluated when the DEFMETHOD form is
executed.
Well, removing the statement would probably be fine by me. I don't think
it really adds much semantic content since, after all, any function can
attempt to evaluate just about anything as long as the effects of doing
so are not visible. Maybe all that's really being said is that ``the
compiler can build in knowledge about what the form in an EQL
specializer will evaluate to in cases where the ultimate result can be
syntactically inferred without actually evaluating it.'' I guess that's
an interesting piece of information, but I'd prefer a presentation like
this that emphasized -not- evaluating it rather than something that said
trying evaluation was ok when clearly in the general case it is not.