control-monad-exception 0.10.2 → 0.10.3
raw patch · 2 files changed
+10/−1 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Control.Monad.Exception.Base: instance [overlap ok] (Throws SomeException l, MonadIO m) => MonadIO (EMT l m)
Files
Control/Monad/Exception/Base.hs view
@@ -46,10 +46,12 @@ -} module Control.Monad.Exception.Base where +import qualified Control.Exception as CE import Control.Applicative import Control.Monad.Exception.Catch import Control.Monad.Loc import Control.Monad.Trans.Class+import Control.Monad.IO.Class import Control.Failure import Control.Monad.Fix import Data.Typeable@@ -263,3 +265,10 @@ mapLeft :: (a -> b) -> Either a r -> Either b r mapLeft f (Left x) = Left (f x) mapLeft _ (Right x) = Right x+++instance (Throws SomeException l, MonadIO m) => MonadIO (EMT l m) where+ liftIO m = EMT (liftIO m') where+ m' = liftM Right m+ `CE.catch`+ \(e::SomeException) -> return (Left ([], CheckedException e))
control-monad-exception.cabal view
@@ -1,5 +1,5 @@ name: control-monad-exception-version: 0.10.2+version: 0.10.3 Cabal-Version: >= 1.10 build-type: Simple license: PublicDomain