categorizing traits objects
Jecel Mattos de Assumpcao Jr.
jecel at lsi.usp.br
Sat Oct 9 05:19:04 UTC 1993
> > Ohhhh... NO!!! I think one of the major advantages of Self compared with
> > Smalltalk is the possibillity to define private slots. Looking at Digitalk's
> > Smalltalk/V you can find a lot of methods with comment "Private", even though
> Privacy is a Good Thing, no doubt about that. However, we felt that
> the current (2.0) privacy semantics didn't do the right thing. Often,
> too many objects had access to "private" slots, and all-to-often we
> annotated slots with "_", meaning "I consider it private but had to
> make it public to allow access". In particular, privacy had no notion
> of "friend" - collaborating objects that have more access than the
> rest of the world but aren't related via inheritance.
Back in 1984 I designed a privacy scheme for Smalltalk: every class had
two method dictionaries - one which was searched for normal messages and
another that was used for messages to self. The browser put public methods
in both dictionaries but private methods only in the second ( you could
even have methods that anybody but yourself could send! ). You can imagine
that I was quite excited to see this feature in Self. In practice, though,
I *never* got around to using it. So I am not sorry to see it go.
Right now I am trying to make a "multiuser" Self. Each object would
belong to a user and could only be modified by that user. Besides the
"real" users there would be many pseudo users created just to break up
the system into smaller ( somewhat protected ) modules. All objects
from the same user would be "friends", but in my scheme every readable
slot is free game for everybody. This obviously needs work.
More information about the Self-interest