packages feed

control-monad-free 0.6.0.1 → 0.6.1

raw patch · 3 files changed

+10/−1 lines, 3 filesdep ~basePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base

API changes (from Hackage documentation)

+ Control.Monad.Free: instance [overlap ok] (Functor f, Functor m, Monad m, MonadPlus m) => Alternative (FreeT f m)
+ Control.Monad.Free.Improve: instance [overlap ok] MonadPlus mu => Alternative (C mu)

Files

Control/Monad/Free.hs view
@@ -83,6 +83,7 @@   Pure   f <*> x = fmap f x   Impure f <*> x = Impure (fmap (<*> x) f) + isPure Pure{} = True; isPure _ = False isImpure = not . isPure @@ -159,6 +160,10 @@ instance (Functor f, Monad m, MonadPlus m) => MonadPlus (FreeT f m) where     mzero = lift mzero     mplus a b = FreeT (mplus (unFreeT a) (unFreeT b))++instance (Functor f, Functor m, Monad m, MonadPlus m) => Alternative (FreeT f m) where+    empty = mzero+    (<|>) = mplus  foldFreeT :: (Traversable f, Monad m) => (a -> m b) -> (f b -> m b) -> FreeT f m a -> m b foldFreeT p i m = unFreeT m >>= \r ->
Control/Monad/Free/Improve.hs view
@@ -54,4 +54,8 @@   mzero       = rep mzero   mplus p1 p2 = rep (mplus (improve p1) (improve p2)) +instance MonadPlus mu => Alternative (C mu) where+  empty = mzero+  (<|>) = mplus+ instance MonadTrans C where lift m = C (m >>=)
control-monad-free.cabal view
@@ -1,5 +1,5 @@ name: control-monad-free-version: 0.6.0.1+version: 0.6.1 Cabal-Version:  >= 1.6 build-type: Simple license: PublicDomain