control-monad-free 0.5.0.1 → 0.5.2
raw patch · 3 files changed
+4/−16 lines, 3 filesdep −mtldep ~basedep ~transformersPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies removed: mtl
Dependency ranges changed: base, transformers
API changes (from Hackage documentation)
- Control.Monad.Free: Impure :: !f (Free f a) -> Free f a
+ Control.Monad.Free: Impure :: (f (Free f a)) -> Free f a
- Control.Monad.Free: foldFreeM :: (Functor f, Traversable f, Monad m) => (a -> m b) -> (f b -> m b) -> Free f a -> m b
+ Control.Monad.Free: foldFreeM :: (Traversable f, Monad m) => (a -> m b) -> (f b -> m b) -> Free f a -> m b
Files
- Control/Monad/Free.hs +2/−2
- Control/Monad/Free/Zip.hs +0/−4
- control-monad-free.cabal +2/−10
Control/Monad/Free.hs view
@@ -35,7 +35,7 @@ free = evalFree (Pure . Left) (Pure . Right) wrap = Impure -data Free f a = Impure !(f (Free f a)) | Pure a+data Free f a = Impure (f (Free f a)) | Pure a deriving instance (Eq a, Eq (f(Free f a))) => Eq (Free f a) deriving instance (Ord a, Ord (f(Free f a))) => Ord (Free f a) deriving instance (Show a, Show (f(Free f a))) => Show (Free f a)@@ -68,7 +68,7 @@ foldFree pure _ (Pure x) = pure x foldFree pure imp (Impure x) = imp (fmap (foldFree pure imp) x) -foldFreeM :: (Functor f, Traversable f, Monad m) => (a -> m b) -> (f b -> m b) -> Free f a -> m b+foldFreeM :: (Traversable f, Monad m) => (a -> m b) -> (f b -> m b) -> Free f a -> m b foldFreeM pure _ (Pure x) = pure x foldFreeM pure imp (Impure x) = imp =<< T.mapM (foldFreeM pure imp) x
Control/Monad/Free/Zip.hs view
@@ -3,11 +3,7 @@ import Control.Monad.Free import Control.Monad.Trans.Class-#ifdef TRANSFORMERS import Control.Monad.Trans.State-#else-import Control.Monad.State-#endif import Data.Foldable import Data.Traversable as T
control-monad-free.cabal view
@@ -1,5 +1,5 @@ name: control-monad-free-version: 0.5.0.1+version: 0.5.2 Cabal-Version: >= 1.6 build-type: Simple license: PublicDomain@@ -18,17 +18,9 @@ category: Control, Monads stability: experimental -Flag transformers- default: True- Library buildable: True- build-depends: base >= 2 && < 5, deepseq- if flag(transformers)- build-depends: transformers == 0.2.*- cpp-options: -DTRANSFORMERS- else- build-depends: mtl+ build-depends: base >= 2 && < 5, deepseq, transformers extensions: StandaloneDeriving, Rank2Types, MultiParamTypeClasses, FlexibleInstances, FlexibleContexts, UndecidableInstances, OverlappingInstances exposed-modules: Control.Monad.Free