[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Some early comments on 88-003 (accessor methods)
- To: David A. Moon <Moon@STONY-BROOK.SCRC.Symbolics.COM>, Bobrow.PA@Xerox.COM
- Subject: Some early comments on 88-003 (accessor methods)
- From: Gregor.pa@Xerox.COM
- Date: Mon, 4 Apr 88 15:41 PDT
- Cc: Common-Lisp-Object-System@SAIL.STANFORD.EDU
- Fcc: BD:>Gregor>mail>outgoing-mail-2.text
- In-reply-to: <19880323170326.4.MOON@EUPHRATES.SCRC.Symbolics.COM>
- Line-fold: no
Date: Wed, 23 Mar 88 12:03 EST
From: David A. Moon <Moon@STONY-BROOK.SCRC.Symbolics.COM>
I don't understand why accessor methods are said to be created by
an update-dependent method through a special deferred creation
mechanism, rather than being created in the normal fashion as part
of the macro expansion of defclass. Earlier we said that there is
no real difference between an automatically created accessor method
and one that the user writes himself, and that both should run at
the same speed. Page 24 gives a reason (the class may not be fully
defined) for delaying creating accessor methods, but this reason does
not make any sense. There is no such restriction for ordinary
methods.
Right, accessor methods want to be added and removed by
initialize-instance and reinitialize-instance respectively. The
specific bit of illogic which is responsible for this is the third
complete paragraph of page 24 which says:
"These are generated by the update-dependent method on standard-class.
It cannot be generated by initialize-instance since the class may not
be fully defined when initialize-instance is called."
As you point out, a class does not need to be fully defined to define
methods on it.
-------