[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Shared/local;class/instance
- To: RPG@SAIL.STANFORD.EDU
- Subject: Re: Shared/local;class/instance
- From: Danny Bobrow <Bobrow.pa@Xerox.COM>
- Date: 28 Sep 87 11:49 PDT
- Cc: common-lisp-object-system@SAIL.STANFORD.EDU
- In-reply-to: Dick Gabriel <RPG@SAIL.STANFORD.EDU>'s message of 28 Sep 87 11:17 PDT
- Sender: Bobrow.pa@Xerox.COM
I believe we ought to pick a consistent set of names for these
:allocation types and keywords. I believe that the pair
shared/local makes a little more sense in that I wouldn't expect
novices to know or remember that a class-allocated slot would be
visible to the instances and hence shared.
I can't imagine them knowing anything else after they read the
documentation once. And it is more important to have only a single set
of words than to have a simple property of the current pair used as an
alternative. So once again I vote for instance/class rather than
local/shared.
I believe that things like :dynamic or :procedure, to pick up
on Danny's suggestion, are of a nature orthogonal to
:shared/:local, because the latter speaks of the scope of the slot
rather than of any implementation technique. Continuing in this
vein, it seems that many :allocation keywords ought to be allowed:
why cannot a :shared slot be :dynamic as well?
I answered your last question earlier -- referring to the use of dynamic
as an implementation tradeoff that is not relevant for shared slots.
Shall we extend the :allocation option to be either a single
allocation-type or a list of them?
I don't think we need yet another programming language (i.e. a method
for compostion) for this option -- simple extensibility is enough. I
would rather use the symbol that specifies the option as our means of
referring to the type of slot, rather than another word that refers to a
property of that kind of slot.