control-monad-exception 0.9.0 → 0.9.1
raw patch · 2 files changed
+11/−1 lines, 2 filesdep +transformersPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: transformers
API changes (from Hackage documentation)
- Control.Monad.Exception.Base: instance (Exception e, Monad m) => MonadCatch e (EMT (Caught e l) m) (EMT l m)
- Control.Monad.Exception.Base: instance (Exception e, Throws e l, Failure e m, Monad m) => WrapFailure e (EMT l m)
- Control.Monad.Exception.Base: instance (Exception e, Throws e l, Monad m) => Failure e (EMT l m)
- Control.Monad.Exception.Base: instance Eq a => Eq (Identity a)
- Control.Monad.Exception.Base: instance Exception FailException
- Control.Monad.Exception.Base: instance Exception MonadZeroException
- Control.Monad.Exception.Base: instance Exception e => Throws e AnyException
- Control.Monad.Exception.Base: instance Monad Identity
- Control.Monad.Exception.Base: instance Monad m => Applicative (EMT l m)
- Control.Monad.Exception.Base: instance Monad m => Functor (EMT l m)
- Control.Monad.Exception.Base: instance Monad m => Monad (EMT l m)
- Control.Monad.Exception.Base: instance Monad m => MonadLoc (EMT l m)
- Control.Monad.Exception.Base: instance MonadFix m => MonadFix (EMT l m)
- Control.Monad.Exception.Base: instance Ord a => Ord (Identity a)
- Control.Monad.Exception.Base: instance Show FailException
- Control.Monad.Exception.Base: instance Show MonadZeroException
- Control.Monad.Exception.Base: instance Show a => Show (Identity a)
- Control.Monad.Exception.Base: instance Throws MonadZeroException l => MonadPlus (EM l)
- Control.Monad.Exception.Base: instance Typeable FailException
- Control.Monad.Exception.Base: instance Typeable MonadZeroException
- Control.Monad.Exception.Base: instance UncaughtException SomeException
- Control.Monad.Exception.Base: instance UncaughtException e => Throws e NoExceptions
+ Control.Monad.Exception.Base: instance [overlap ok] (Exception e, Monad m) => MonadCatch e (EMT (Caught e l) m) (EMT l m)
+ Control.Monad.Exception.Base: instance [overlap ok] (Exception e, Throws e l, Failure e m, Monad m) => WrapFailure e (EMT l m)
+ Control.Monad.Exception.Base: instance [overlap ok] (Exception e, Throws e l, Monad m) => Failure e (EMT l m)
+ Control.Monad.Exception.Base: instance [overlap ok] Eq a => Eq (Identity a)
+ Control.Monad.Exception.Base: instance [overlap ok] Exception FailException
+ Control.Monad.Exception.Base: instance [overlap ok] Exception MonadZeroException
+ Control.Monad.Exception.Base: instance [overlap ok] Exception e => Throws e AnyException
+ Control.Monad.Exception.Base: instance [overlap ok] Monad Identity
+ Control.Monad.Exception.Base: instance [overlap ok] Monad m => Applicative (EMT l m)
+ Control.Monad.Exception.Base: instance [overlap ok] Monad m => Functor (EMT l m)
+ Control.Monad.Exception.Base: instance [overlap ok] Monad m => Monad (EMT l m)
+ Control.Monad.Exception.Base: instance [overlap ok] Monad m => MonadLoc (EMT l m)
+ Control.Monad.Exception.Base: instance [overlap ok] MonadFix m => MonadFix (EMT l m)
+ Control.Monad.Exception.Base: instance [overlap ok] MonadTrans (EMT l)
+ Control.Monad.Exception.Base: instance [overlap ok] Ord a => Ord (Identity a)
+ Control.Monad.Exception.Base: instance [overlap ok] Show FailException
+ Control.Monad.Exception.Base: instance [overlap ok] Show MonadZeroException
+ Control.Monad.Exception.Base: instance [overlap ok] Show a => Show (Identity a)
+ Control.Monad.Exception.Base: instance [overlap ok] Throws MonadZeroException l => MonadPlus (EM l)
+ Control.Monad.Exception.Base: instance [overlap ok] Typeable FailException
+ Control.Monad.Exception.Base: instance [overlap ok] Typeable MonadZeroException
+ Control.Monad.Exception.Base: instance [overlap ok] UncaughtException SomeException
+ Control.Monad.Exception.Base: instance [overlap ok] UncaughtException e => Throws e NoExceptions
Files
Control/Monad/Exception/Base.hs view
@@ -3,6 +3,7 @@ {-# LANGUAGE FlexibleContexts, FlexibleInstances, TypeSynonymInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE PatternGuards #-}+{-# LANGUAGE OverlappingInstances #-} {-| A Monad Transformer for explicitly typed checked exceptions.@@ -47,6 +48,7 @@ import Control.Applicative import Control.Monad.Exception.Catch import Control.Monad.Loc+import Control.Monad.Trans.Class import Control.Failure import Control.Monad.Fix import Data.Typeable@@ -117,6 +119,9 @@ Right _ -> return v Left (loc, CheckedException (SomeException e)) -> return $ Left (loc, CheckedException $ toException $ mkE e)++instance MonadTrans (EMT l) where+ lift = EMT . liftM Right instance (Exception e, Monad m) => MonadCatch e (EMT (Caught e l) m) (EMT l m) where catchWithSrcLoc = Control.Monad.Exception.Base.catchWithSrcLoc
control-monad-exception.cabal view
@@ -1,5 +1,5 @@ name: control-monad-exception-version: 0.9.0+version: 0.9.1 Cabal-Version: >= 1.6 build-type: Simple license: PublicDomain@@ -61,6 +61,10 @@ > g, Main(example.hs): (2,6) > main, Main(example.hs): (5,9) > main, Main(example.hs): (4,16)+ .+ /Changes since 0.9.0/:+ .+ * Moved to transformers (finally leaving the whole mtl-transformers cisma behind) synopsis: Explicitly typed, checked exceptions with stack traces category: Control, Monads, Failure@@ -76,6 +80,7 @@ buildable: True build-depends: failure >= 0.1 && < 0.2 , safe-failure >= 0.5+ , transformers , monadloc if flag(extensibleExceptions)