[ENH] RBRelatedPatches [sm]

Daniel Vainsencher danielv at netvision.net.il
Tue Sep 16 23:55:59 UTC 2003


Andreas Raab <andreas.raab at gmx.de> wrote:
> > 2. SharedPool class>>keys - to restore a bit more compatibility with
> > Dictionaries.
> 
> -1: SharedPool deliberately doesn't use dictionary protocols. There is no
> reason to start migrating the entire dictionary protocol over to it. The
> clients ought to know that they're dealing with pools instead of
> dictionaries.
Well ok, but - 
A. RB needs to know whether the bindings includes: name.
B. In 3.6 some pools are dictionaries.

So SharedPools do need some more protocol, and I'll probably have the RB
"enhancing" SharedPools for Dictionary compatibility at least as long as
not everything is migrated over.

> > 3. Text>>withSqueakLineEndings implementation, by Ned. Not perfect, 
> > according to him.
> -10: It's broken. The invariant of Text is that "strings size = runs size"
> and the method does not preserve that invariant.
Yeah, I agree - having a differently broken method doesn't help.

> > 4. Collection>>ifEmpty:ifNotEmpty: and variations.
> -1: This should not be sneaked in as a "small change" given that it
> significantly extends the collection protocol.
Well, you caught me. Let the arguments begin :_)

> And is questionable in the
> semantics - the asymmetry between #ifEmpty: (0-arg block) and #ifNotEmpty:
> (1-arg block) greatly disturbs me.
Ok. I can go for 0-arg #ifNotEmpty:. Then we're ok? anybody else have
strong feeling either way?

Daniel



More information about the Squeak-dev mailing list