|
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 |