packages feed

control-monad-exception 0.3 → 0.3.1

raw patch · 2 files changed

+14/−4 lines, 2 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Control.Monad.Exception: EMT :: m (Either (WrapException l) a) -> EMT l m a
- Control.Monad.Exception: newtype EMT l m a
- Control.Monad.Exception: unEMT :: EMT l m a -> m (Either (WrapException l) a)
+ Control.Monad.Exception: data EMT l m a
+ Control.Monad.Exception: evalEM :: EM (AnyException l) a -> Either SomeException a
+ Control.Monad.Exception: runEMParanoid :: EM ParanoidMode a -> a
- Control.Monad.Exception: evalEMT :: (Monad m) => EMT (Caught SomeException l) m a -> m (Either SomeException a)
+ Control.Monad.Exception: evalEMT :: (Monad m) => EMT (AnyException l) m a -> m (Either SomeException a)

Files

Control/Monad/Exception.hs view
@@ -5,8 +5,8 @@ {-# LANGUAGE OverlappingInstances #-}  module Control.Monad.Exception (-    EM,  runEM,-    EMT(..), evalEMT, runEMT, runEMTParanoid,+    EM,  evalEM, runEM, runEMParanoid,+    EMT, evalEMT, runEMT, runEMTParanoid,     MonadZeroException(..),     module Control.Monad.Exception.Class ) where @@ -38,15 +38,25 @@ mapLeft _ (Right x) = Right x  -- | Run a safe computation+evalEM :: EM (AnyException l) a -> Either SomeException a+evalEM = runIdentity . evalEMT++-- | Run a safe computation runEM :: EM NoExceptions a -> a runEM = runIdentity . runEMT +-- | Run a safe computation+runEMParanoid :: EM ParanoidMode a -> a+runEMParanoid = runIdentity . runEMTParanoid+ data MonadZeroException = MonadZeroException deriving (Show, Typeable) instance Exception MonadZeroException  newtype EMT l m a = EMT {unEMT :: m (Either (WrapException l) a)} -evalEMT :: Monad m => EMT (Caught SomeException l) m a -> m (Either SomeException a)+type AnyException = Caught SomeException++evalEMT :: Monad m => EMT (AnyException l) m a -> m (Either SomeException a) evalEMT (EMT m) = mapLeft wrapException `liftM` m  runEMT_gen :: Monad m => EMT l m a -> m a
control-monad-exception.cabal view
@@ -1,5 +1,5 @@ name: control-monad-exception-version: 0.3+version: 0.3.1 Cabal-Version:  >= 1.2.3 build-type: Simple license: PublicDomain