packages feed

hashable-extras 0.2.2 → 0.2.3

raw patch · 4 files changed

+12/−5 lines, 4 filesdep +transformers-compatdep ~transformersPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: transformers-compat

Dependency ranges changed: transformers

API changes (from Hackage documentation)

- Data.Hashable.Extras: instance (Hashable a, Hashable b) => Hashable1 ((,,) a b)
- Data.Hashable.Extras: instance (Hashable a, Hashable b) => Hashable2 ((,,,) a b)
- Data.Hashable.Extras: instance (Hashable a, Hashable b, Hashable c) => Hashable1 ((,,,) a b c)
- Data.Hashable.Extras: instance (Hashable a, Hashable b, Hashable c) => Hashable2 ((,,,,) a b c)
- Data.Hashable.Extras: instance (Hashable a, Hashable b, Hashable c, Hashable d) => Hashable1 ((,,,,) a b c d)
- Data.Hashable.Extras: instance (Hashable a, Hashable b, Hashable c, Hashable d) => Hashable2 ((,,,,,) a b c d)
- Data.Hashable.Extras: instance (Hashable a, Hashable b, Hashable c, Hashable d, Hashable e) => Hashable1 ((,,,,,) a b c d e)
- Data.Hashable.Extras: instance (Hashable a, Hashable b, Hashable c, Hashable d, Hashable e) => Hashable2 ((,,,,,,) a b c d e)
- Data.Hashable.Extras: instance (Hashable a, Hashable b, Hashable c, Hashable d, Hashable e, Hashable f) => Hashable1 ((,,,,,,) a b c d e f)
- Data.Hashable.Extras: instance Hashable Hashed
- Data.Hashable.Extras: instance Hashable Salt
- Data.Hashable.Extras: instance Hashable a => Hashable1 ((,) a)
- Data.Hashable.Extras: instance Hashable a => Hashable1 (Either a)
- Data.Hashable.Extras: instance Hashable a => Hashable2 ((,,) a)
- Data.Hashable.Extras: instance Hashable1 Identity
- Data.Hashable.Extras: instance Hashable1 Maybe
- Data.Hashable.Extras: instance Hashable1 []
- Data.Hashable.Extras: instance Hashable2 (,)
- Data.Hashable.Extras: instance Hashable2 Either
- Data.Hashable.Extras: unhashed :: Hashed -> Int -> Int
+ Data.Hashable.Extras: [unhashed] :: Hashed -> Int -> Int
+ Data.Hashable.Extras: instance (Data.Hashable.Class.Hashable a, Data.Hashable.Class.Hashable b) => Data.Hashable.Extras.Hashable1 ((,,) a b)
+ Data.Hashable.Extras: instance (Data.Hashable.Class.Hashable a, Data.Hashable.Class.Hashable b) => Data.Hashable.Extras.Hashable2 ((,,,) a b)
+ Data.Hashable.Extras: instance (Data.Hashable.Class.Hashable a, Data.Hashable.Class.Hashable b, Data.Hashable.Class.Hashable c) => Data.Hashable.Extras.Hashable1 ((,,,) a b c)
+ Data.Hashable.Extras: instance (Data.Hashable.Class.Hashable a, Data.Hashable.Class.Hashable b, Data.Hashable.Class.Hashable c) => Data.Hashable.Extras.Hashable2 ((,,,,) a b c)
+ Data.Hashable.Extras: instance (Data.Hashable.Class.Hashable a, Data.Hashable.Class.Hashable b, Data.Hashable.Class.Hashable c, Data.Hashable.Class.Hashable d) => Data.Hashable.Extras.Hashable1 ((,,,,) a b c d)
+ Data.Hashable.Extras: instance (Data.Hashable.Class.Hashable a, Data.Hashable.Class.Hashable b, Data.Hashable.Class.Hashable c, Data.Hashable.Class.Hashable d) => Data.Hashable.Extras.Hashable2 ((,,,,,) a b c d)
+ Data.Hashable.Extras: instance (Data.Hashable.Class.Hashable a, Data.Hashable.Class.Hashable b, Data.Hashable.Class.Hashable c, Data.Hashable.Class.Hashable d, Data.Hashable.Class.Hashable e) => Data.Hashable.Extras.Hashable1 ((,,,,,) a b c d e)
+ Data.Hashable.Extras: instance (Data.Hashable.Class.Hashable a, Data.Hashable.Class.Hashable b, Data.Hashable.Class.Hashable c, Data.Hashable.Class.Hashable d, Data.Hashable.Class.Hashable e) => Data.Hashable.Extras.Hashable2 ((,,,,,,) a b c d e)
+ Data.Hashable.Extras: instance (Data.Hashable.Class.Hashable a, Data.Hashable.Class.Hashable b, Data.Hashable.Class.Hashable c, Data.Hashable.Class.Hashable d, Data.Hashable.Class.Hashable e, Data.Hashable.Class.Hashable f) => Data.Hashable.Extras.Hashable1 ((,,,,,,) a b c d e f)
+ Data.Hashable.Extras: instance Data.Hashable.Class.Hashable Data.Hashable.Extras.Hashed
+ Data.Hashable.Extras: instance Data.Hashable.Class.Hashable Data.Hashable.Extras.Salt
+ Data.Hashable.Extras: instance Data.Hashable.Class.Hashable a => Data.Hashable.Extras.Hashable1 ((,) a)
+ Data.Hashable.Extras: instance Data.Hashable.Class.Hashable a => Data.Hashable.Extras.Hashable1 (Data.Either.Either a)
+ Data.Hashable.Extras: instance Data.Hashable.Class.Hashable a => Data.Hashable.Extras.Hashable2 ((,,) a)
+ Data.Hashable.Extras: instance Data.Hashable.Extras.Hashable1 Data.Functor.Identity.Identity
+ Data.Hashable.Extras: instance Data.Hashable.Extras.Hashable1 GHC.Base.Maybe
+ Data.Hashable.Extras: instance Data.Hashable.Extras.Hashable1 []
+ Data.Hashable.Extras: instance Data.Hashable.Extras.Hashable2 (,)
+ Data.Hashable.Extras: instance Data.Hashable.Extras.Hashable2 Data.Either.Either

Files

CHANGELOG.markdown view
@@ -1,3 +1,9 @@+0.2.3+-----+* ghc 8 support+* `transformers` 0.5 support+* Removed redundant constraints on default definitions.+ 0.2.2 ----- * Removed spurious `generic-deriving` dependency
README.markdown view
@@ -1,7 +1,7 @@ hashable-extras =============== -[![Build Status](https://secure.travis-ci.org/ekmett/hashable-extras.png?branch=master)](http://travis-ci.org/ekmett/hashable-extras)+[![Hackage](https://img.shields.io/hackage/v/hashable-extras.svg)](https://hackage.haskell.org/package/hashable-extras) [![Build Status](https://secure.travis-ci.org/ekmett/hashable-extras.png?branch=master)](http://travis-ci.org/ekmett/hashable-extras)  This package provides higher order Hashable types 
hashable-extras.cabal view
@@ -1,6 +1,6 @@ name:          hashable-extras category:      Data, Hash-version:       0.2.2+version:       0.2.3 license:       BSD3 cabal-version: >= 1.8 license-file:  LICENSE@@ -46,7 +46,8 @@     bifunctors       >= 4        && < 6,     bytestring       >= 0.9      && < 0.11,     hashable         >= 1.1.2.3  && < 1.3,-    transformers     >= 0.2      && < 0.5+    transformers     >= 0.2      && < 0.6,+    transformers-compat >= 0.3   && < 1    exposed-modules:     Data.Hashable.Extras
src/Data/Hashable/Extras.hs view
@@ -44,7 +44,7 @@ class Hashable1 t where   hashWithSalt1 :: Hashable a => Int -> t a -> Int #ifndef HLINT-  default hashWithSalt1 :: (Hashable a, Hashable (t a)) => Int -> t a -> Int+  default hashWithSalt1 :: Hashable (t a) => Int -> t a -> Int   hashWithSalt1 = hashWithSalt   {-# INLINE hashWithSalt1 #-} #endif@@ -70,7 +70,7 @@ class Hashable2 t where   hashWithSalt2 :: (Hashable a, Hashable b) => Int -> t a b -> Int #ifndef HLINT-  default hashWithSalt2 :: (Hashable a, Hashable b, Hashable (t a b)) => Int -> t a b -> Int+  default hashWithSalt2 :: Hashable (t a b) => Int -> t a b -> Int   hashWithSalt2 = hashWithSalt   {-# INLINE hashWithSalt2 #-} #endif