Separating a Hash type from Object

Jason Orendorff jason.orendorff at
Wed May 30 09:01:18 PDT 2007

On 5/29/07, Brendan Eich <brendan at> wrote:
> We're working on it. Goals and anti-goals are [...]

Looks very good.

> * defaults to intrinsic::=== and intrinsic::hashcode for identity and
> hashing


There is one sort of value that isn't === itself in 3rd Edition: NaN.
This means that hashTable.put(NaN, x) will always add a new
entry, even if there's already a NaN entry; and the entry can't
be retrieved!  Maybe either intrinsic::hashcode() or Hash.put()
should detect NaN and throw an exception.


More information about the Es4-discuss mailing list