RFC: Adding a Hashable type class and HashMap/HashSet data types to HP

Isaac Dupree ml at isaac.cedarswampstudios.org
Thu Nov 18 19:15:29 EST 2010


On 11/18/10 18:39, Daniel Peebles wrote:
> I like this idea. As I mentioned on IRC, I'd call the class Hash rather than
> Hashable. I'm also with you on the Word return type. It may be less
> convenient but maybe this will be a tiny step towards the "great Word
> revolt" (in which all conceptually unsigned things in the prelude and
> standard libraries actually become unsigned) that I hope will occur sometime
> in the near future.

"great Word revolt"?  Don't do it.  Not that way.  It's a risky 
proposition in C, and the Haskell types work the same way, except 
they're called "Word" instead of "unsigned".

For example, on my machine,

 > (1 - 2) :: Word
18446744073709551615

However, I'm mildly in favor of hash results being Words, because 
they're not supposed to be used as meaningful numbers anyway.  Int is 
good for numbers that are moderately meaningful.  These hashes are more 
like bit-sequences, where -- if arithmetic is used at all -- Word's 
modular nature is what we *want*, and its equal treatment of the top bit 
is what we want (vs. being related to the number's sign).

-Isaac


More information about the Libraries mailing list