equivalence 0.3.3 → 0.3.4
raw patch · 2 files changed
+9/−3 lines, 2 filesdep +failPVP ok
version bump matches the API change (PVP)
Dependencies added: fail
API changes (from Hackage documentation)
+ Data.Equivalence.Monad: instance GHC.Base.Monad m => Control.Monad.Fail.MonadFail (Data.Equivalence.Monad.EquivT s c v m)
Files
- equivalence.cabal +4/−3
- src/Data/Equivalence/Monad.hs +5/−0
equivalence.cabal view
@@ -1,5 +1,5 @@ Name: equivalence-Version: 0.3.3+Version: 0.3.4 License: BSD3 License-File: LICENSE Author: Patrick Bahr@@ -31,11 +31,11 @@ Test-Suite test Type: exitcode-stdio-1.0 Main-is: Data_Test.hs- Other-Modules: Data.Equivalence.Monad_Test+ Other-Modules: Data.Equivalence.Monad_Test,Data.Equivalence.Monad, Data.Equivalence.STT hs-source-dirs: src testsuite/tests Build-Depends: base >= 4, template-haskell, containers, mtl >= 2.0.1, QuickCheck >= 2, test-framework, test-framework-quickcheck2, STMonadTrans >= 0.4.3,- transformers >= 0.2, transformers-compat >= 0.3+ transformers >= 0.2, transformers-compat >= 0.3, fail Library Build-Depends:@@ -45,3 +45,4 @@ Data.Equivalence.STT, Data.Equivalence.Monad Hs-Source-Dirs: src+ build-depends: fail
src/Data/Equivalence/Monad.hs view
@@ -56,7 +56,9 @@ import Control.Monad.Trans.Except (ExceptT) import Control.Applicative +import qualified Control.Monad.Fail as Fail + {-| This monad transformer encapsulates computations maintaining an equivalence relation. A monadic computation of type 'EquivT' @s c v m a@ maintains a state space indexed by type @s@, maintains an@@ -99,6 +101,9 @@ instance MonadTrans (EquivT s c v) where lift = EquivT . lift . lift++instance Monad m => Fail.MonadFail (EquivT s c v m) where+ fail = error instance (MonadReader r m) => MonadReader r (EquivT s c v m) where ask = EquivT $ lift ask