[BUG][FIX] WeakKeyDictionary>>keysAndValuesDo:

Martin Wirblat sql.mawi at t-link.de
Thu Jun 17 11:35:57 UTC 2004

>We have here 41 classes.  They actually provide a beautiful example 
>of why Martin Wirblat's code snippet provides misleading answers.  
>ReadWriteStream *does* define #= (and #hash) so as to compare states 
>(same position and same contents).  This contributes 10 classes to 
>the "doesn't use #==" set. However, the definition is (equivalent to)
>    = other
>        ^(self class == ReadWriteStream and: [other class == 
>        ReadWriteStream]) 
>          ifFalse: [super = other]
>          ifTrue:  [self position = other position and: [
>                    self contents = other contents]]
>which means that the 9 descendants of ReadWriteStream should be 
>counted as using #==, which they aren't. 


this is actually a "beautiful example" of your ability to not only 
find all arguments which are supporting you, but to find some which 
are supporting the other side and make them look (at the first glance) 
as if it were the other way round. Additionally you come up with many 
facts which only have a loose connection to the core of the problem 
and finally you are hooking into every smallest sign of non-precision 
in what the other side said after interpreting it your way, even if it 
has nothing to do with the problem. Sometimes I have the impression 
that you are trying to disprove the validity of use of every single 
word, instead of trying to understand what their originator wanted to 

I was really interested why _you_ didn't stumble - as I did - about no 
(changing) Set in another Set, but it is hard to communicate with you 
this way. 

Anyway, I got your opinion and will refrain now from "continuing the 
debate" :) 

Thank you for your effort,

More information about the Squeak-dev mailing list