Namespace and Module Discussion

David Simmons David.Simmons at smallscript.com
Fri Feb 1 08:42:31 UTC 2002


Hi All,

Is it too late to have a hearty discussion here on the squeak discussion
group regarding namespaces and modules?

I.e., have the plans for squeak been cast in stone. I've briefly read
some of the module and namespace discussions on the Wiki.

If not then I would like to try and participate in a discussion on this
area with the goal being to strive for some level of compatibility with
existing Smalltalk implementations of namespaces, modules, etc such as
in the work I've done for SmallScript (AOS and .NET versions), and its
ancestor SmalltalkAgents (QKS Smalltalk).

I would add that this is area where simplicity is truly elegance in the
best sense of Smalltalk's philosophy. But it is equally an area where
recognizing synergies and making the right steps for achieving
simplicity can be a hard thing to get right.

-- Dave S. [SmallScript LLC]

SmallScript for the AOS & .NET Platforms
David.Simmons at SmallScript.com | http://www.smallscript.org


> -----Original Message-----
> From: squeak-dev-admin at lists.squeakfoundation.org [mailto:squeak-dev-
> admin at lists.squeakfoundation.org] On Behalf Of Hannes Hirzel
> Sent: Thursday, January 31, 2002 10:18 PM
> To: Squeak list
> Cc: Dan Ingalls; Doug Way; scott
> Subject: Re: [modules] Important: class re/definitions in change sets
and
> updates
> 
> 
> 
> 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