Need feedback on one idea

Andreas Raab andreas.raab at gmx.de
Thu Sep 11 11:29:09 UTC 2003


Hi Stef,

What a simple yet complex question this is ;-) The fact of the matter is
that pools are both, good and bad. Pools provide one of the two ways of
"importing" a set of names/bindings (the other one being subclassing) and
are in this way quite useful as they allow us to share a set of bindings
across the class hierarchy. In many ways pools can be seen as the equivalent
to an "import" statement with the pool defining the scope and contents of
the import (I long thought that the "poolDictionaries:" in the class
definition should be replaced by "imports:" as the latter is a notion which
is very common in lots of programming languages).

The downside of it is that pools represented by dictionaries are a very weak
concept. It quickly leads to problems if you do in fact dynamically modify a
pool (for example, removing a binding from the pool may leave a dangling
reference in some piece of code) and therefore, their status really needs to
be elevated to a "development time facility" rather than a "runtime
facility" (quote-on-quote as this is an arbitrary distinction in Smalltalk).
Meaning that modifying pools is something that should absolutely do a number
of sanity checks if ever modified, that should absolutely record their
modifications in the changes etc.

So should pools be removed? It depends. I think that "some" concept is
needed to share a set of bindings across the class hierarchy. Whether you
call this a pool or whether you call it a name space or a module, I really
don't care (except maybe for reasons of adoption where I would claim that an
incremental changes which mostly "interprets" pools differently would be
helpful). Removing the entire concept of having a way to import a set of
bindings seems dangerous to me.

Cheers,
  - Andreas

> -----Original Message-----
> From: squeak-dev-bounces at lists.squeakfoundation.org 
> [mailto:squeak-dev-bounces at lists.squeakfoundation.org] On 
> Behalf Of ducasse
> Sent: Thursday, September 11, 2003 12:24 PM
> To: The general-purpose Squeak developers list
> Subject: Re: Need feedback on one idea
> 
> 
> Hi andreas
> 
> I digested a bit more my ideas and in fact having namespace to have 
> shared variables is a big jump.
> Too big may be. May be it would be interesting to see that more as 
> module (I should read a bit ruby to see if I like what
> they have).
> 
> Now I was really wondering what would be cost of removing 
> Pool. I have 
> the impression that
> pool were introduced as an optimisation and are as such a static 
> construct. What is your point of view?
> 
> I do not remember what you did about pool recently was it a step 
> towards a possible extermination of POols :)
> I like this metaphor.
> Stef
> 
> 



More information about the Squeak-dev mailing list