Steps to Modularity - Nested Global Variables

Chris Reuter cgreuter at calum.csclub.uwaterloo.ca
Mon Mar 22 07:12:37 UTC 1999


On Mon, Mar 15, 1999 at 09:04:25AM -0800, Dan Ingalls wrote:
[...]

Here's my $0.04 (CDN):

> 3.  I don't know if we should support arbitrarily long dotted references.
> 	What do you think?

I'm in favour of it.  I can't think of a good reason _not_ to do it.

> 4.  There needs to be a corresponding extension to the SystemOrganization, and to the System Browsers.
> 	Have you thought about this?
> 	This is what makes me hesitate about arbitrarily deep nesting.

> 5.  I would include as part of this change, to do away with the notion of poolDictionaries.
> 	What do you think about that?
> 	I find that most uses are covered by classVariables in a superclass,
> 		and I feel the rest could be handled fine by dotted globals.

I've found pool dictionaries to be useful as a way of storing symbolic constants, a sort
of substitute to the C #define statement.  This is done in Smalltalk/V.

Of course, they're an utter pain when trying to file a project in or out.

> The major application I see for this is to be able to segment an
> image on project boundaries.  Another project I have for the next
> couple of months is to put atomic assert/revert into project
> changes.  This menas that projects become nearly as modular as
> sub-images.

It occurs to me that name-spaces and sandboxes are somewhat related.
I think some sort of sandboxing will be necessary if/when SqeakOS is
ported to your favourite PDA so that I can't accidentally destroy my
address list or history homework while programming.  Has anyone looked
into this sort of thing?


			--Chris


Disclaimer:  It's way too late at night as I write this.





More information about the Squeak-dev mailing list