[squeak-dev] #= ==> #hash issues

Eliot Miranda eliot.miranda at gmail.com
Fri Nov 16 01:35:59 UTC 2018


Hi Bert,

On Thu, Nov 15, 2018 at 4:38 PM Bert Freudenberg <bert at freudenbergs.de>
wrote:

> Somehow I missed Eliot's version, but unsurprisingly he had exactly the
> same idea (use "last" not "stop" for hash). I'd still think bitXor: is
> preferable to bitOr, that is the standard way in almost all hash methods.
> But ...
>
> BUT: I forgot about the super fallback in #=. That makes this discussion
> pretty much moot, because since
>
> #(1 2 3) = (1 to: 3) "true"
>
> is true, this must also be true:
>
> #(1 2 3) hash = (1 to: 3) hash  "must be true"
>
> So the only proper fix IMHO is to remove #hash from Interval (or replace
> it with ^super hash and a proper comment)
>


We discussed this a couple of weeks ago.  There is no need for
    #(1 2 3) = (1 to: 3)
to be true.
    #(1 2 3) = #[1 2 3]
isn’t true.  And we have hasEqualElements:.  So a more coherent approach is
for the hack that makes intervals equal to arrays be discarded, and the
hashes kept distinct.


>
> - Bert -
>
>
>

-- 
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20181115/c5794c50/attachment.html>


More information about the Squeak-dev mailing list