fixplate-0.1.4: Uniplate-style generic traversals for optionally annotated fixed-point types.

Safe HaskellSafe-Infered

Data.Generics.Fixplate.Hash.Class

Description

Haskell98 polymorphic Hash interface

Synopsis

Documentation

class (Eq hash, Ord hash, Hashable hash) => HashValue hash whereSource

A type class for hashes. Minimal complete definition: emptyHash, hashWord8, hashHash and showHex.

Methods

hashWord8 :: Word8 -> hash -> hashSource

hashWord16 :: Word16 -> hash -> hashSource

hashWord32 :: Word32 -> hash -> hashSource

hashWord64 :: Word64 -> hash -> hashSource

emptyHash :: hashSource

hashHash :: hash -> hash -> hashSource

showHex :: hash -> StringSource

class Hashable a whereSource

A type class of hashable objects. An instance has to compute the hash for any hash function, using the "base" types (eg. Word32).

Minimal complete definition: hashDigest. The default for computeHash is

 computeHash x = hashDigest x emptyHash

Methods

hashDigest :: HashValue hash => a -> hash -> hashSource

computeHash :: HashValue hash => a -> hashSource

hashInt :: HashValue hash => Int -> hash -> hashSource

hashWord :: HashValue hash => Word -> hash -> hashSource

hashBool :: HashValue hash => Bool -> hash -> hashSource

hashChar :: HashValue hash => Char -> hash -> hashSource