Name spaces in Spoon

Ralph Johnson 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:
>
>         http://swiki.krampe.se/gohu/32
>
> ...and here is code (I have it updated for 3.9, but haven't published it
> yet:
>
>         http://map.squeak.org/packagebyname/namespaces
>

-Ralph Johnson



More information about the Squeak-dev mailing list