packages feed

control-monad-free 0.2 → 0.3

raw patch · 2 files changed

+11/−2 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Control.Monad.FreeT: class (Functor f, Monad m) => MonadFree f m
+ Control.Monad.FreeT: free :: (MonadFree f m) => m a -> m (Either a (f (m a)))
+ Control.Monad.FreeT: instance (Functor f, Monad m) => MonadFree f (FreeT f m)

Files

Control/Monad/FreeT.hs view
@@ -1,5 +1,7 @@-module Control.Monad.FreeT (FreeT(..)) where+{-# LANGUAGE MultiParamTypeClasses, FlexibleInstances #-} +module Control.Monad.FreeT (FreeT(..), MonadFree(..)) where+ import Control.Applicative import Control.Monad (liftM) import Control.Monad.Trans@@ -24,3 +26,10 @@  instance (Functor f) => MonadTrans (FreeT f) where     lift = FreeT . liftM Left+++class (Functor f, Monad m) => MonadFree f m where+    free :: m a -> m (Either a (f (m a)))++instance (Functor f, Monad m) => MonadFree f (FreeT f m) where+    free = lift . runFreeT
control-monad-free.cabal view
@@ -1,7 +1,7 @@ Name: control-monad-free Description:     A monad transformer for free monads.-Version: 0.2+Version: 0.3 Stability: experimental Synopsis: A monad transformer for free monads. License: PublicDomain