This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.
This package is a rewrite of the hashable library by Milan Straka and
Johan Tibell, having the following goals:
Extensibility; it should be easy to implement a new hashing algorithm on
any Hashable type; in this package we provide SipHash and FNV-1a.
Honest hashing of values, and principled hashing of algebraic data types
(see e.g. hashable issues #74 and #30)
Cross-platform consistent hash values, with a versioning guarantee. Where
possible we ensure morally identical data hashes to indentical values
regardless of processor word size and endianness.
Make implementing identical hash routines in other languages as painless
as possible. In addition to SipHash, we provide an implementation of a
simple hashing algorithm (FNV-1a) and make an effort to define Hashable
instances in a way that is well-documented and sensible, so that e.g. one
can easily implement a string hashing routine in JavaScript that will
match the way we hash strings here.
Versioning: Except for instances where we specifically note that we make
no promise of consistency, changes to hash values (and consequently changes
to StableHashable values, where applicable) entail a major version number
bump.