Musings about modularity and programming in the large

Michael van der Gulik mikevdg at
Thu Jan 24 20:53:32 UTC 2008

On Jan 24, 2008 7:02 PM, Jason Johnson <jason.johnson.081 at> wrote:

> On Jan 23, 2008 11:50 PM, Michael van der Gulik <mikevdg at> wrote:
> >
> >
> > There is code available on the 3.10 Package Universes that I'm currently
> > using to varying degrees of success.
> >
> > Gulik.
> Well, this isn't what I had in mind [1], but it looks quite good I
> must say.  Are you planning to keep this namespace system as a
> separate entity from "User" and the other concepts you mentioned?

Yes. Namespaces are just another component of my Unnamed Grand

[2] Naming suggestions welcome.

> The
> namespace part seems like potentially a good candidate for adoption to
> me.  Do you have any pointers to projects using it, to get a feel for
> how well it's working in practice?

It won't be a candidate for adoption until the implementation is stable and
widely used.

As of yet, I'm only beginning to use my own tools to make actual namespaced
projects. If you load the namespace tools from the 3.10 package universe, it
automatically generates some demo namespaces (Kernel, Collection), but I
wouldn't recommend using these in your own projects except for playing
around. I'm currently porting Kernel and Collection to namespaces now.

> [1] It's actually not so far away though.  What I was envisioning was
> a system that behaves mostly like now, but "module classes" or
> "component classes" (classes that are made up of *classes* and methods
> instead of just methods) would be visible in the main dictionary and
> none of the classes that make one up would be visible.  The only way
> one could be referenced outside is if the "module class" returned on
> from a method.  There would probably be on the code browser when
> looking at such a class that lets one "zoom in" to see inside it and
> make changes.

This sounds like a facade pattern to me.

I'm considering making namespaces able to be "private". You could then make
a facade object which was the only class that has access to that namespace.


-------------- next part --------------
An HTML attachment was scrubbed...

More information about the Squeak-dev mailing list