hashable: A class for types that can be converted to a hash value
This package defines a class, Hashable
, for types that can be converted to a hash value.
This class exists for the benefit of hashing-based data structures.
The package provides instances for basic types and a way to combine hash values.
Hashable
is intended exclusively for use in in-memory data structures.
Hashable
does not have a fixed standard.
This allows it to improve over time.
Because it does not have a fixed standard, different computers or computers on different versions of the code will observe different hash values.
As such, hashable
is not recommended for use other than in-memory datastructures.
Specifically, hashable
is not intended for network use or in applications which persist hashed values.
For stable hashing use named hashes: sha256, crc32, xxhash etc.
[Skip to Readme]
Flags
Manual Flags
Name | Description | Default |
---|---|---|
arch-native | Use | Disabled |
random-initial-seed | Randomly initialize the initial seed on each final executable invocation This is useful for catching cases when you rely on (non-existent) stability of hashable's hash functions. This is not a security feature. | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- hashable-1.5.0.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'.
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 1.0.0, 1.0.1.0, 1.0.1.1, 1.1.0.0, 1.1.1.0, 1.1.2.0, 1.1.2.1, 1.1.2.2, 1.1.2.3, 1.1.2.4, 1.1.2.5, 1.2.0.0, 1.2.0.1, 1.2.0.2, 1.2.0.3, 1.2.0.4, 1.2.0.5, 1.2.0.6, 1.2.0.7, 1.2.0.8, 1.2.0.9, 1.2.0.10, 1.2.1.0, 1.2.2.0, 1.2.3.0, 1.2.3.1, 1.2.3.2, 1.2.3.3, 1.2.4.0, 1.2.5.0, 1.2.6.0, 1.2.6.1, 1.2.7.0, 1.3.0.0, 1.3.1.0, 1.3.2.0, 1.3.3.0, 1.3.4.0, 1.3.4.1, 1.3.5.0, 1.4.0.0, 1.4.0.1, 1.4.0.2, 1.4.1.0, 1.4.2.0, 1.4.3.0, 1.4.4.0, 1.4.5.0, 1.4.6.0, 1.4.7.0, 1.5.0.0 |
---|---|
Change log | CHANGES.md |
Dependencies | base (>=4.18.0.0 && <4.22), bytestring (>=0.11.5.3 && <0.13), containers (>=0.6.7 && <0.8), deepseq (>=1.4.8.1 && <1.6), filepath (>=1.4.200.1 && <1.6), ghc-bignum (>=1.3 && <1.4), ghc-prim, os-string (>=2.0.2 && <2.1), text (>=2.0.2 && <2.2) [details] |
Tested with | ghc ==9.6.5 || ==9.8.2 || ==9.8.3 || ==9.10.1 || ==9.12.1 |
License | BSD-3-Clause |
Author | Milan Straka <fox@ucw.cz> Johan Tibell <johan.tibell@gmail.com> |
Maintainer | Oleg Grenrus <oleg.grenrus@iki.fi> |
Revised | Revision 1 made by phadej at 2024-12-19T10:57:25Z |
Category | Data |
Home page | http://github.com/haskell-unordered-containers/hashable |
Bug tracker | https://github.com/haskell-unordered-containers/hashable/issues |
Source repo | head: git clone https://github.com/haskell-unordered-containers/hashable.git |
Uploaded | by phadej at 2024-07-04T19:38:39Z |
Distributions | Arch:1.4.4.0, Debian:1.3.0.0, Fedora:1.4.2.0, FreeBSD:1.2.3.3, LTSHaskell:1.4.7.0, NixOS:1.4.4.0, Stackage:1.5.0.0, openSUSE:1.4.7.0 |
Reverse Dependencies | 1084 direct, 13853 indirect [details] |
Downloads | 515359 total (1228 in the last 30 days) |
Rating | 1.5 (votes: 5) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2024-07-04 [all 1 reports] |