Happy Happy Joy Joy (was: On to Hydro)

Mark S. Miller markm@caplet.com
Thu, 24 Aug 2000 22:23:11 -0700


At 04:06 PM 8/24/00 , Tyler Close wrote:
> > For E, everyone needs to remember that "==" based lookup
> > uses a hash that's
> > never exposed to the E programmer, but used privately
> > within the hashtable
> > implementation.  To do otherwise would be to expose the inherent
> > non-determinism of object-identity-based hash values. This
>
>What are your thoughts on Dan Bornstein's request that hashed
>containers use equivalence, not equality, to search for elements and
>that the definition of equivalence be user configurable at
>construction time. I believe it is a good feature and I have already
>added it to my Hashtable implementation.

E absolutely needs an equality-based hashtable primitive, and one cannot be 
built from equivalence-based hashtable.  Equivalence-based hashtables can be 
provided as a primitive or be written in E.  This means that, should we 
leave equivalence-based hashtables out of the initial libraries, our users 
can provide these for themselves.  But only if we provide equality-based 
hashtables.  Why?  One cannot write otherwise write reasonable algorithms 
for calculating transitive equivalence of possibly cyclic data.


         Cheers,
         --MarkM