hashabler: Principled, portable & extensible hashing of data and types, including an implementation of the FNV-1a and SipHash algorithms.
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
Hashabletype; in this package we provide SipHash and FNV-1a.
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.
Versioning: Except for instances where we specifically note that we make
no promise of consistency, changes to hash values (and consequently changes
StableHashable values, where applicable) entail a major version number
|Versions||0.1.0.0, 0.1.0.1, 0.1.0.2, 1.0, 1.1, 1.2, 1.2.1, 1.3.0, 2.0.0|
|Dependencies||array (>=0.4), base (>=4.6 && <4.10), bytestring, ghc-prim, integer-gmp (>=0.2), primitive, template-haskell, text (>=18.104.22.168), transformers [details]|
|Revised||Revision 2 made by HerbertValerioRiedel at Sat Jun 3 16:58:43 UTC 2017|
|Source repo||head: git clone https://github.com/jberryman/hashabler.git|
|Uploaded||by BrandonSimmons at Tue Aug 23 02:16:05 UTC 2016|
|Downloads||4412 total (29 in the last 30 days)|
|Rating||(no votes yet) [estimated by rule of succession]|
|Status||Docs available [build log]
Last success reported on 2016-08-23 [all 1 reports]
Hackage Matrix CI
Are we using integer-gmp to provide fast Integer instances?
To build tests, executables and benchmarks do `configure -fdev --enable-tests` and run the built executables by hand (i.e. not with `cabal test` etc.; we put all our different executables in test-suite sections in order to hide their dependencies from hackage)
Enables assertions in library code. When --enable-library-profiling and --enable-executable-profiling is turned on, you can get stacktraces as well
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
- hashabler-1.3.0.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
For package maintainers and hackage trustees