(furthermore, changing Interval>>hash to match that of Array in cases like (1 to: SmallInteger minVal) is bound to cause unacceptable performance penalties)
Andres Valloud wrote: > I'd rather make the interval not equal to the array, at least with the > message #=. Probably that can't be done safely. If that's the case, > I'd say the best approach is to leave it "broken" but documented in > terms of "some collections may compare 'reasonably', however, since > equality in those cases is not well defined, then the rule a = b => a > hash = b hash may be waived". For example, sure, #(1 2 3) = (1 to: 3), > however you can't do (1 to: 3) at: 2 put: 5. And 1.0 may be equal to 1, > but the numbers represent completely different things so even though the > numeric value is the same, equality is ill defined, and so it's not > necessary for the hashing rule to apply. > > Nicolas Cellier wrote: > >> http://bugs.squeak.org/view.php?id=3380 >> http://bugs.squeak.org/view.php?id=3488 >> >> 2009/10/24 Andrew P. Black <[email protected]>: >> >> >>> The golden rule of hashing is (a = b) => (a hash = b hash). Right? >>> >>> Look at this: >>> >>> (1 to: 10) species ---> Array >>> #(1 2 3 4 5 6 7 8 9 10) species ---> Array >>> >>> (1 to: 10) = #(1 2 3 4 5 6 7 8 9 10) ---> true >>> >>> However, >>> >>> (1 to: 10) hash = #(1 2 3 4 5 6 7 8 9 10) hash ---> false. >>> >>> I believe that the last is a bug. >>> >>> Andrew >>> >>> >>> _______________________________________________ >>> Pharo-project mailing list >>> [email protected] >>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >>> >>> >>> >> _______________________________________________ >> Pharo-project mailing list >> [email protected] >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >> >> >> > > _______________________________________________ > Pharo-project mailing list > [email protected] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > > _______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
