On Thu, 31 Jan 2002, Henrik Gedenryd wrote:
There are now multiple name spaces, one per module.
So an important thing to keep in mind is that in subsequent change sets and especially updates, system categories in class definitions *have to* agree with that of the existing class, or a second class will be added in the module specified by the category. (Harvesters, in particular, keep this in mind.)
Since system categories are simulated from module path names, classes will be placed in *exactly* the module specified in the category of a class definition--even if the module doesn't exist. This is for reasonable backward compatibility.
So, new classes will be placed there obviously. But, for an existing class in a certain module, a *new class* will be created from the new class (re-) definition if it specifies a different module. This is not a bug, it is because every module has its own name space.
One could circumvent this by ignoring the category for any class already present under #(Squeak), but I don't think this would be a good thing, all things considered.
I copied this important information on a new swiki page with the title 'Name spaces':
http://minnow.cc.gatech.edu/squeak/2221
This page can be accessed from 'Modules: Design Principles' http://minnow.cc.gatech.edu/squeak/2044
which in turn is accessed from the 'Modules' page
http://minnow.cc.gatech.edu/squeak/2042
There is a fair amount of initial information by Henrik and a compilation of this list's discussion on [modules] last autumn.
May I ask anybody interested to watch out for important information as well and update the pages as necessary.
Hannes Hirzel