> On 09 Oct 2015, at 4:33 , Esteban Lorenzano <esteba...@gmail.com> wrote:
> 
> 
>> On 09 Oct 2015, at 16:21, Gabriel Cotelli <g.cote...@gmail.com 
>> <mailto:g.cote...@gmail.com>> wrote:
>> 
>> If the collection implements = using the objects it holds then you need to 
>> consider at least some of them in the hash calculation. I can't conceive a 
>> hash calculation for this case independent of the contents (well,  just 
>> hardcode a number but this will lead to always collide if used as a key in a 
>> hashed collection).
> 
> it is not :)
> 
>> 
>> I'm with Levente here, I think the hash implementation is reasonable. And I 
>> wouldn't use a mutable object as key in a hashed collection.
> 
> no idea… I’m not using it, just arrive to that method random and I cannot 
> understand it.
> I still believe is wrong.
It's not.

Either Dictionary >> #= or IdentityDictionary >> #species in Pharo *is* broken 
though.

dic1 := Dictionary newFrom:{1 -> 4}.
dic2 := IdentityDictionary newFrom: dic1 associations .

dic1 = dic2                     true
dic1 hash = dic2 hash   false

Cheers,
Henry

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to