equivalence 0.2.3 → 0.2.4
raw patch · 3 files changed
+28/−2 lines, 3 filesdep ~basedep ~mtlPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base, mtl
API changes (from Hackage documentation)
+ Data.Equivalence.Monad: instance (Functor m, Monad m) => Applicative (EquivT s c v m)
+ Data.Equivalence.Monad: instance Functor m => Functor (EquivT s c v m)
Files
- equivalence.cabal +2/−2
- src/Data/Equivalence/Monad.hs +8/−0
- testsuite/tests/Data_Test.hs +18/−0
equivalence.cabal view
@@ -1,9 +1,9 @@ Name: equivalence-Version: 0.2.3+Version: 0.2.4 License: BSD3 License-File: LICENSE Author: Patrick Bahr-Maintainer: paba@diku.dk+Maintainer: paba@di.ku.dk Homepage: https://bitbucket.org/paba/equivalence/ bug-reports: https://bitbucket.org/paba/equivalence/issues/new Synopsis: Maintaining an equivalence relation implemented as union-find using STT.
src/Data/Equivalence/Monad.hs view
@@ -47,6 +47,7 @@ import Control.Monad.Trans import Control.Monad.Identity import Control.Monad.ST.Trans+import Control.Applicative {-| This monad transformer encapsulates computations maintaining an@@ -77,6 +78,13 @@ trivial equivalence class descriptors of type @()@. -} type EquivM' s v = EquivM s () v++instance Functor m => Functor (EquivT s c v m) where+ fmap f (EquivT m) = EquivT $ fmap f m++instance (Functor m, Monad m) => Applicative (EquivT s c v m) where+ pure = EquivT . pure+ (EquivT f) <*> (EquivT a) = EquivT (f <*> a) instance (Monad m) => Monad (EquivT s c v m) where EquivT m >>= f = EquivT (m >>= (unEquivT . f))
+ testsuite/tests/Data_Test.hs view
@@ -0,0 +1,18 @@+module Main where++import Test.Framework+import qualified Data.Equivalence.Monad_Test++--------------------------------------------------------------------------------+-- Test Suits+--------------------------------------------------------------------------------++main = defaultMain [tests]++tests = testGroup "Data" [+ Data.Equivalence.Monad_Test.tests+ ]++--------------------------------------------------------------------------------+-- Properties+--------------------------------------------------------------------------------