packages feed

monad-abort-fd 0.6.1 → 0.6.2

raw patch · 2 files changed

+13/−2 lines, 2 filesdep ~transformers-compatPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: transformers-compat

API changes (from Hackage documentation)

+ Control.Monad.Abort.Class: instance (GHC.Base.Monoid w, Control.Monad.Abort.Class.MonadAbort e μ) => Control.Monad.Abort.Class.MonadAbort e (Control.Monad.Trans.Accum.AccumT w μ)
+ Control.Monad.Abort.Class: instance (GHC.Base.Monoid w, Control.Monad.Abort.Class.MonadRecover e μ) => Control.Monad.Abort.Class.MonadRecover e (Control.Monad.Trans.Accum.AccumT w μ)
+ Control.Monad.Abort.Class: instance Control.Monad.Abort.Class.MonadAbort e μ => Control.Monad.Abort.Class.MonadAbort e (Control.Monad.Trans.Select.SelectT r μ)

Files

monad-abort-fd.cabal view
@@ -1,5 +1,5 @@ Name: monad-abort-fd-Version: 0.6.1+Version: 0.6.2 Category: Control Stability: experimental Synopsis: A better error monad transformer@@ -32,7 +32,7 @@ Library   Build-Depends: base >= 4.3 && < 5   Build-Depends: transformers        >= 0.2-               , transformers-compat >= 0.5+               , transformers-compat >= 0.6.1                , transformers-base   >= 0.4                , transformers-abort  >= 0.4                , mtl                 >= 2.0
src/Control/Monad/Abort/Class.hs view
@@ -39,6 +39,8 @@ import Control.Monad.RWS (MonadRWS) import qualified Control.Monad.RWS.Lazy as L import qualified Control.Monad.RWS.Strict as S+import Control.Monad.Trans.Accum (AccumT(..), runAccumT)+import Control.Monad.Trans.Select (SelectT(..)) import Control.Monad.Trans.Abort (AbortT(..)) import qualified Control.Monad.Trans.Abort as A import Control.Monad.STM (STM, throwSTM, catchSTM)@@ -209,3 +211,12 @@  instance (Functor μ, Monad μ) ⇒ MonadRecover e (ExceptT e μ) where   recover = catchError++instance (Monoid w, MonadAbort e μ) ⇒ MonadAbort e (AccumT w μ) where+  abort = lift . abort++instance (Monoid w, MonadRecover e μ) ⇒ MonadRecover e (AccumT w μ) where+  recover m h = AccumT $ \w → runAccumT m w `recover` ((`runAccumT` w) . h)++instance MonadAbort e μ ⇒ MonadAbort e (SelectT r μ) where+  abort = lift . abort