[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Multiple inheritance in SELF

Hi. I'm a STalker who has only recently become SELFish.  I consider prototyping,
dynamic inheritance, and uniform access to behavior and state to be important
developments in object oriented programming.  But I'm surprised that SELF should
require explicit support for multiple inheritance.

Multiple inheritence provides the only means by which an object in a 'static
inheritance' language may inherit capability from more than one parent.  When
these capability sets intersect, it is encumbent upon the language to resolve
the ambiguity.  Whatever convention the language employs, the choice is just as
static as is the inheritance itself.  Ideally, one would hope to choose whatever
inheritance is appropriate for the moment (i.e., the current state).

Dynamic inheritance provides this facility.  Unfortunately, the SELF object 
never gets the opportunity to choose.  The inbound message is dispatched
according to a precedence relationship that was established before the
message was even sent.

Perhaps SELF could be ammended to include a 'default' slot that, if defined,
would receive messages that do not match the other slots, and for which the
receiver is not the sender.  The slot might be occupied by a method that
sets the parent, sends the message to self, then resets the parent.

Just a thought.


Lee Murach			Tel: (805) 485-2700
Network Research Corp.		FAX: (805) 485-8204
2380 North Rose Avenue		Internet: lee@nrc.com
Oxnard, CA 93030		CompuServe: 71161,651