
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
[...] Two different languages, two different approaches to implementing collections---one more imperative, the other more functional.
It's "easier" to implement Hash than Ord, because for Ord, you need transitivity. while a hash function just needs to be a function. (Difficult in Java, impossible to get wrong in Haskell.) If you take a bad hash function, you're "only" hurting performance, not correctness. In fact I sometimes make a wrapper type sth. like Wrap { hash = hash x, contents = x } deriving ( Eq, Ord ) (hoping for the left-to-right comparison) and then use Data.Map. Best regards, J.W. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org iEYEARECAAYFAkiTNckACgkQDqiTJ5Q4dm+FXgCeNLHcnFHCB+Bq9xJyv+qY1UE+ P+4Anja7agfdrTpDHcN9GAT3hkzav7jc =Jv1z -----END PGP SIGNATURE-----