free 3.3.1 → 3.4
raw patch · 3 files changed
+9/−1 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Control.Monad.Free.Class: instance (Functor f, MonadFree f m) => MonadFree f (ContT r m)
Files
- CHANGELOG.markdown +4/−0
- free.cabal +1/−1
- src/Control/Monad/Free/Class.hs +4/−0
CHANGELOG.markdown view
@@ -1,3 +1,7 @@+3.4+---+* Added instance `MonadFree f (ContT r m)`+ 3.3.1 ----- * Refactored build system
free.cabal view
@@ -1,6 +1,6 @@ name: free category: Control, Monads-version: 3.3.1+version: 3.4 license: BSD3 cabal-version: >= 1.10 license-file: LICENSE
src/Control/Monad/Free/Class.hs view
@@ -26,6 +26,7 @@ import qualified Control.Monad.Trans.Writer.Lazy as Lazy import qualified Control.Monad.Trans.RWS.Strict as Strict import qualified Control.Monad.Trans.RWS.Lazy as Lazy+import Control.Monad.Trans.Cont import Control.Monad.Trans.Maybe import Control.Monad.Trans.List import Control.Monad.Trans.Error@@ -88,6 +89,9 @@ instance (Functor f, MonadFree f m) => MonadFree f (Strict.StateT s m) where wrap fm = Strict.StateT $ \s -> wrap $ flip Strict.runStateT s <$> fm++instance (Functor f, MonadFree f m) => MonadFree f (ContT r m) where+ wrap t = ContT $ \h -> wrap (fmap (\p -> runContT p h) t) instance (Functor f, MonadFree f m, Monoid w) => MonadFree f (Lazy.WriterT w m) where wrap = Lazy.WriterT . wrap . fmap Lazy.runWriterT