[modules] Important: class re/definitions in change sets and updates

Hannes Hirzel hirzel at spw.unizh.ch
Fri Feb 1 06:18:12 UTC 2002


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




More information about the Squeak-dev mailing list