packages feed

monad-abort-fd 0.6 → 0.6.1

raw patch · 3 files changed

+30/−2 lines, 3 filesdep +stmPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: stm

API changes (from Hackage documentation)

+ Control.Monad.Abort.Class: instance Control.Monad.Abort.Class.MonadAbort GHC.Exception.SomeException GHC.Conc.Sync.STM
+ Control.Monad.Abort.Class: instance Control.Monad.Abort.Class.MonadRecover GHC.Exception.SomeException GHC.Conc.Sync.STM
- Control.Monad.Abort: AbortT :: μ (Either e α) -> AbortT e α
+ Control.Monad.Abort: AbortT :: μ Either e α -> AbortT e α
- Control.Monad.Abort: [runAbortT] :: AbortT e α -> μ (Either e α)
+ Control.Monad.Abort: [runAbortT] :: AbortT e α -> μ Either e α
- Control.Monad.Abort: class MonadAbort e μ => MonadRecover e μ | μ -> e where recover m h = evaluate m >>= either h return evaluate m = recover (Right <$> m) (return . Left)
+ Control.Monad.Abort: class MonadAbort e μ => MonadRecover e μ | μ -> e
- Control.Monad.Abort: runAbort :: Abort e α -> Either e α
+ Control.Monad.Abort: runAbort :: () => Abort e α -> Either e α
- Control.Monad.Abort.Class: class MonadAbort e μ => MonadRecover e μ | μ -> e where recover m h = evaluate m >>= either h return evaluate m = recover (Right <$> m) (return . Left)
+ Control.Monad.Abort.Class: class MonadAbort e μ => MonadRecover e μ | μ -> e
- Control.Monad.Finish: FinishT :: μ (Either f α) -> FinishT f α
+ Control.Monad.Finish: FinishT :: μ Either f α -> FinishT f α
- Control.Monad.Finish: [runFinishT] :: FinishT f α -> μ (Either f α)
+ Control.Monad.Finish: [runFinishT] :: FinishT f α -> μ Either f α
- Control.Monad.Finish: runFinish :: Finish f α -> Either f α
+ Control.Monad.Finish: runFinish :: () => Finish f α -> Either f α
- Control.Monad.Finish: runFinish' :: Finish α α -> α
+ Control.Monad.Finish: runFinish' :: () => Finish α α -> α

Files

+ README.md view
@@ -0,0 +1,16 @@+Monad-Abort-FD+==============++[![Travis](https://img.shields.io/travis/mvv/monad-abort-fd/master.svg)](https://travis-ci.org/mvv/monad-abort-fd) [![Hackage](https://img.shields.io/hackage/v/monad-abort-fd.svg)](http://hackage.haskell.org/package/monad-abort-fd)++This package provides automated lifting of operations via functional+dependencies for the [transformers-abort][transformers-abort] package.++[transformers-abort]: http://hackage.haskell.org/package/transformers-abort++Installation+------------+The usual:++	$ cabal install+
monad-abort-fd.cabal view
@@ -1,5 +1,5 @@ Name: monad-abort-fd-Version: 0.6+Version: 0.6.1 Category: Control Stability: experimental Synopsis: A better error monad transformer@@ -16,8 +16,12 @@ License: BSD3 License-File: LICENSE -Tested-With: GHC==7.6.3, GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2+Extra-Source-Files:+  README.md +Tested-With: GHC==7.6.3, GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2,+             GHC==8.4.1+ Cabal-Version: >= 1.6.0 Build-Type: Simple @@ -32,6 +36,7 @@                , transformers-base   >= 0.4                , transformers-abort  >= 0.4                , mtl                 >= 2.0+               , stm                 >= 2.4   Hs-Source-Dirs: src   GHC-Options: -Wall   Exposed-Modules:
src/Control/Monad/Abort/Class.hs view
@@ -41,6 +41,7 @@ import qualified Control.Monad.RWS.Strict as S import Control.Monad.Trans.Abort (AbortT(..)) import qualified Control.Monad.Trans.Abort as A+import Control.Monad.STM (STM, throwSTM, catchSTM)  -- | Class of monads that support raising of errors. class (Applicative μ, Monad μ) ⇒ MonadAbort e μ | μ → e where@@ -97,6 +98,12 @@  instance MonadRecover SomeException IO where   recover = catch++instance MonadAbort SomeException STM where+  abort = throwSTM++instance MonadRecover SomeException STM where+  recover = catchSTM  instance Monad μ ⇒ MonadError e (AbortT e μ) where   throwError = A.abort