monad-peel 0.2.1.1 → 0.2.1.2
raw patch · 3 files changed
+22/−3 lines, 3 files
Files
- Control/Monad/IO/Peel.hs +8/−0
- Control/Monad/Trans/Peel.hs +11/−0
- monad-peel.cabal +3/−3
Control/Monad/IO/Peel.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {- | Module : Control.Monad.IO.Peel Copyright : © Anders Kaseorg, 2010@@ -28,6 +29,9 @@ import Control.Monad.Trans.List import Control.Monad.Trans.Maybe import Control.Monad.Trans.Error+#if MIN_VERSION_transformers(0,4,0)+import qualified Control.Monad.Trans.Except as Except+#endif import Control.Monad.Trans.Reader import Control.Monad.Trans.State import qualified Control.Monad.Trans.State.Strict as Strict@@ -72,6 +76,10 @@ peelIO = liftPeel peelIO instance (Error e, MonadPeelIO m) => MonadPeelIO (ErrorT e m) where peelIO = liftPeel peelIO+#if MIN_VERSION_transformers(0,4,0)+instance MonadPeelIO m => MonadPeelIO (Except.ExceptT e m) where+ peelIO = liftPeel peelIO+#endif instance MonadPeelIO m => MonadPeelIO (ReaderT r m) where peelIO = liftPeel peelIO instance MonadPeelIO m => MonadPeelIO (StateT s m) where
Control/Monad/Trans/Peel.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {- | Module : Control.Monad.Trans.Peel Copyright : © Anders Kaseorg, 2010@@ -35,6 +36,9 @@ import Control.Monad.Trans.List import Control.Monad.Trans.Maybe import Control.Monad.Trans.Error+#if MIN_VERSION_transformers(0,4,0)+import qualified Control.Monad.Trans.Except as Except+#endif import Control.Monad.Trans.Reader import Control.Monad.Trans.State import qualified Control.Monad.Trans.State.Strict as Strict@@ -101,6 +105,13 @@ peel = return $ \m -> do xe <- runErrorT m return $ either throwError return xe++#if MIN_VERSION_transformers(0,4,0)+instance MonadTransPeel (Except.ExceptT e) where+ peel = return $ \m -> do+ xe <- Except.runExceptT m+ return $ either Except.throwE return xe+#endif instance MonadTransPeel (ReaderT r) where peel = asks $ \r m -> do
monad-peel.cabal view
@@ -1,5 +1,5 @@ Name: monad-peel-Version: 0.2.1.1+Version: 0.2.1.2 Synopsis: Lift control operations like exception catching through monad transformers Description: This package defines @MonadPeelIO@, a subset of @MonadIO@ into which@@ -18,7 +18,7 @@ Category: Control Build-type: Simple Cabal-version: >= 1.8-Tested-With: GHC == 8.0.1+Tested-With: GHC == 8.0.2 Source-repository head type: git@@ -27,7 +27,7 @@ Source-repository this type: git location: https://github.com/l29ah/monad-peel.git- tag: 0.2.1.1+ tag: 0.2.1.2 Library Exposed-modules: