packages feed

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)