[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
One problem that still needs to be solved in Self is that of privacy.
I was reading the other day about namespaces in SmalltalkAgents, by
QKS. I couldn't find much detail about it, but it sounded interesting.
If I understood correctly, they replace the lookup based on
(selector, receiver class) by one based on the tuple
(selector, receiver class, sender nameSpace). Like classes,
namespaces for an inheritance tree (with the nameSpace Global
as the root). They say the extra complexity doesn't slow
things down very much since most lookups hit the cache.
You can get all kinds of privacy with this scheme: slots only
visible to the object, visible to the object and all its
children, and so on.
I think it also solves some of the problems that Urs
pointed out in "Integrating Independently-Developed
Components in Object-Oriented Languages". The nameSpace
things was developed in SmalltalkAgents specially so they
could have different applications see different methods
for String>>copy, for example, depending on whether they
were ported from Digitalk or Parcplace Smalltalk.
The problem is that I don't see how something like this
could be done in Self, since the idea of name spaces is
bound directly to the objects themselves (though not as
much as in early Selfs, before annotations).
Anyway, this doesn't solve another problem I have with
giving multiple names to a single method/slot. I'll write
about that later.
-----=============( Jecel Mattos de Assumpcao Jr )===========-----
http://www.lsi.usp.br/~jecel/merlin.html | mailto:email@example.com