Hello community, here is the log from the commit of package ghc-monad-control for openSUSE:Factory checked in at 2016-04-12 19:38:10 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-monad-control (Old) and /work/SRC/openSUSE:Factory/.ghc-monad-control.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-monad-control" Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-monad-control/ghc-monad-control.changes 2016-02-01 19:57:22.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.ghc-monad-control.new/ghc-monad-control.changes 2016-04-12 19:38:11.000000000 +0200 @@ -1,0 +2,16 @@ +Thu Apr 7 15:00:08 UTC 2016 - [email protected] + +- update to 1.0.1.0 +- removed useless _service +* Added the functions: + + liftThrough + :: (MonadTransControl t, Monad (t m), Monad m) + => (m (StT t a) -> m (StT t b)) -- ^ + -> t m a -> t m b + + captureT :: (MonadTransControl t, Monad (t m), Monad m) => t m (StT t ()) + captureM :: MonadBaseControl b m => m (StM m ()) + + +------------------------------------------------------------------- Old: ---- _service monad-control-1.0.0.5.tar.gz New: ---- monad-control-1.0.1.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-monad-control.spec ++++++ --- /var/tmp/diff_new_pack.IzDUAV/_old 2016-04-12 19:38:12.000000000 +0200 +++ /var/tmp/diff_new_pack.IzDUAV/_new 2016-04-12 19:38:12.000000000 +0200 @@ -19,7 +19,7 @@ %global pkg_name monad-control Name: ghc-%{pkg_name} -Version: 1.0.0.5 +Version: 1.0.1.0 Release: 0 Summary: Lift control operations, like exception catching, through monad transformers License: BSD-3-Clause ++++++ monad-control-1.0.0.5.tar.gz -> monad-control-1.0.1.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/monad-control-1.0.0.5/CHANGELOG new/monad-control-1.0.1.0/CHANGELOG --- old/monad-control-1.0.0.5/CHANGELOG 2016-01-28 11:03:35.000000000 +0100 +++ new/monad-control-1.0.1.0/CHANGELOG 2016-04-06 00:53:58.000000000 +0200 @@ -1,3 +1,18 @@ +1.0.1.0 + +* Added the functions: + + liftThrough + :: (MonadTransControl t, Monad (t m), Monad m) + => (m (StT t a) -> m (StT t b)) -- ^ + -> t m a -> t m b + + captureT :: (MonadTransControl t, Monad (t m), Monad m) => t m (StT t ()) + captureM :: MonadBaseControl b m => m (StM m ()) + +* Added Travis-CI integration + + 1.0.0.5 * Support transformers-0.5 & ransformers-compat-0.5.*. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/monad-control-1.0.0.5/Control/Monad/Trans/Control.hs new/monad-control-1.0.1.0/Control/Monad/Trans/Control.hs --- old/monad-control-1.0.0.5/Control/Monad/Trans/Control.hs 2016-01-28 11:03:35.000000000 +0100 +++ new/monad-control-1.0.1.0/Control/Monad/Trans/Control.hs 2016-04-06 00:53:58.000000000 +0200 @@ -29,23 +29,25 @@ ( -- * MonadTransControl MonadTransControl(..), Run - -- ** Defaults for MonadTransControl + -- ** Defaults -- $MonadTransControlDefaults , RunDefault, defaultLiftWith, defaultRestoreT -- * MonadBaseControl , MonadBaseControl (..), RunInBase - -- ** Defaults for MonadBaseControl + -- ** Defaults -- $MonadBaseControlDefaults , ComposeSt, RunInBaseDefault, defaultLiftBaseWith, defaultRestoreM -- * Utility functions - , control, embed, embed_ + , control, embed, embed_, captureT, captureM , liftBaseOp, liftBaseOp_ , liftBaseDiscard, liftBaseOpDiscard + + , liftThrough ) where @@ -464,6 +466,16 @@ embed_ f = liftBaseWith $ \runInBase -> return (void . runInBase . f) {-# INLINABLE embed_ #-} +-- | Capture the current state of a transformer +captureT :: (MonadTransControl t, Monad (t m), Monad m) => t m (StT t ()) +captureT = liftWith $ \runInM -> runInM (return ()) +{-# INLINABLE captureT #-} + +-- | Capture the current state above the base monad +captureM :: MonadBaseControl b m => m (StM m ()) +captureM = liftBaseWith $ \runInBase -> runInBase (return ()) +{-# INLINABLE captureM #-} + -- | @liftBaseOp@ is a particular application of 'liftBaseWith' that allows -- lifting control operations of type: -- @@ -525,3 +537,13 @@ -> (a -> m ()) -> m c liftBaseOpDiscard f g = liftBaseWith $ \runInBase -> f $ void . runInBase . g {-# INLINABLE liftBaseOpDiscard #-} + +-- | Transform an action in @t m@ using a transformer that operates on the underlying monad @m@ +liftThrough + :: (MonadTransControl t, Monad (t m), Monad m) + => (m (StT t a) -> m (StT t b)) -- ^ + -> t m a -> t m b +liftThrough f t = do + st <- liftWith $ \run -> do + f $ run t + restoreT $ return st diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/monad-control-1.0.0.5/README.markdown new/monad-control-1.0.1.0/README.markdown --- old/monad-control-1.0.0.5/README.markdown 2016-01-28 11:03:35.000000000 +0100 +++ new/monad-control-1.0.1.0/README.markdown 2016-04-06 00:53:58.000000000 +0200 @@ -1,3 +1,6 @@ +[](https://hackage.haskell.org/package/monad-control) +[](https://travis-ci.org/basvandijk/monad-control) + This package defines the type class `MonadControlIO`, a subset of `MonadIO` into which generic control operations such as `catch` can be lifted from `IO`. Instances are based on monad transformers in diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/monad-control-1.0.0.5/monad-control.cabal new/monad-control-1.0.1.0/monad-control.cabal --- old/monad-control-1.0.0.5/monad-control.cabal 2016-01-28 11:03:35.000000000 +0100 +++ new/monad-control-1.0.1.0/monad-control.cabal 2016-04-06 00:53:58.000000000 +0200 @@ -1,5 +1,5 @@ Name: monad-control -Version: 1.0.0.5 +Version: 1.0.1.0 Synopsis: Lift control operations, like exception catching, through monad transformers License: BSD3 License-file: LICENSE @@ -28,6 +28,12 @@ simplify and speedup most definitions. extra-source-files: README.markdown, CHANGELOG +tested-with: + GHC==7.4.2, + GHC==7.6.3, + GHC==7.8.4, + GHC==7.10.3, + GHC==8.0.1 --------------------------------------------------------------------------------
