findSlot utility

Danny Jared Epstein dje at
Wed Mar 13 06:21:56 UTC 1991

RE: findSlot utility

I *am* using your experimental code in mirrors and it seems to be
working correctly.  However, I'll be sure to keep your warning in mind
when using findSlot!  I haven't tested it out much, but everything I
have tested seems to work correctly.  You're right that findSlot
should go in shortcuts* or some other such child of the lobby.  To add
the findSlot methods to shortcuts*, you would use _AddSlotsIfAbsent:
and _Define: in later versions of Self, making the code Self-version
dependent.  Sorry about that!

RE: Understanding privacy in Self:

The code in mirrors used by findSlot includes the visibility rules for
private slots.  For those of you who are more comfortable analyzing
code than text, you may find it elucidating.  See traits mirror
lookupKey:Holder:, lookupKey:Receiver:Holder:Visited:, and
slotIsVisible:Receiver:Holder:.  Of course, there's no guarantee that
the mirror code is equivalent to the corresponding code in the VM ...

 - Danny
   dje at

More information about the Self-interest mailing list