Name spaces in Spoon
johnson at cs.uiuc.edu
Fri May 26 11:38:40 UTC 2006
On 5/26/06, goran at krampe.se <goran at krampe.se> wrote:
> Hi Ralph!
> "Ralph Johnson" <johnson at cs.uiuc.edu> wrote:
> > SystemDictionary needs to be nested. Each module should have its own
> IMHO one of the reasons that the 3.3 modules adventure ended with
> abandonment was the complexity of imports/exports in a nested hierarchy.
> I advocate having a "flat" model with simply named buckets of names, as
> in my Namespace solution (see below).
I like your model for Squeak, but it won't work for Spoon. Note that
my message was a response to the problem that in Spoon it is easy for
different modules to have classes with the same name. So, I wondered
how "Smalltalk at: className" would work in Spoon. Prefixing names
would help if it were mandatory, but not if it were optional, and so
it seemed to revolutionary to me. Like you, I think that evolution of
the class library is better than revolution.
IMy model has no import/export rules. To the user, it is nearly the
same as the current model. I did not deal with problems in
disambiguating class names because no existing code will have that
problem. However, new code will, because if you import two modules
that define a class with the same name and then try to use one of
them, there will need to be a way to distinquish which one you mean.
But no existing code can have that problem.
> > I recently read (probably in squeak-dev) a proposal to standardize
> > the way people use prefixes to ensure that class names don't collide.
> That was my proposal which I have presented on numerous occasions. The
> latest little writeup of it (with tongue in cheek) is here:
> ...and here is code (I have it updated for 3.9, but haven't published it
More information about the Squeak-dev