hashable-extras-0.2: Higher-rank Hashable

Portabilitynon-portable
Stabilityexperimental
MaintainerEdward Kmett <ekmett@gmail.com>
Safe HaskellTrustworthy

Data.Hashable.Extras

Description

 

Synopsis

Documentation

class Hashable1 t whereSource

Methods

hashWithSalt1 :: Hashable a => Int -> t a -> IntSource

hash1 :: Hashable a => t a -> IntSource

Instances

Hashable1 [] 
Hashable1 Maybe 
Hashable1 Identity 
Hashable a => Hashable1 (Either a) 
Hashable a => Hashable1 ((,) a) 
(Hashable a, Hashable b) => Hashable1 ((,,) a b) 
(Hashable a, Hashable b, Hashable c) => Hashable1 ((,,,) a b c) 
(Hashable a, Hashable b, Hashable c, Hashable d) => Hashable1 ((,,,,) a b c d) 
(Hashable a, Hashable b, Hashable c, Hashable d, Hashable e) => Hashable1 ((,,,,,) a b c d e) 
(Hashable a, Hashable b, Hashable c, Hashable d, Hashable e, Hashable f) => Hashable1 ((,,,,,,) a b c d e f) 

class Hashable2 t whereSource

Methods

hashWithSalt2 :: (Hashable a, Hashable b) => Int -> t a b -> IntSource

hash2 :: (Hashable a, Hashable b) => t a b -> IntSource

Instances

data Hashed Source

Constructors

Hashed 

Fields

unhashed :: Int -> Int
 

Instances

hashWith1 :: (Functor t, Hashable1 t) => (Int -> a -> Int) -> Int -> t a -> IntSource

hashWith2 :: (Bifunctor t, Hashable2 t) => (Int -> a -> Int) -> (Int -> b -> Int) -> Int -> t a b -> IntSource

salt :: IntSource

Extract the default salt used by Hashable