|
| Data.Edison.Prelude | | Portability | GHC, Hugs (MPTC and FD) | | Stability | stable | | Maintainer | robdockins AT fastmail DOT fm |
|
|
|
|
|
| Description |
| This module is a central depository of common definitions
used throughout Edison.
|
|
| Synopsis |
|
|
|
|
| Hashing classes
|
|
| class Eq a => Hash a where |
This class represents hashable objects. If obeys the
following invariant:
forall x,y :: a. (x == y) implies (hash x == hash y) | | | Methods | |
|
|
| class Hash a => UniqueHash a |
This class represents hashable objects where the hash function
is unique (injective). There are no new methods, just a
stronger invariant:
forall x,y :: a. (x == y) iff (hash x == hash y) |
|
|
| class UniqueHash a => ReversibleHash a where |
This class represents hashable objects where the hash is
reversible.
forall x :: a. unhash (hash x) == x Note that:
hash (unhash i) == i does not necessarily hold because unhash is not necessarily
defined for all i, only for all i in the range of hash.
| | | Methods | |
|
|
| Produced by Haddock version 0.8 |