packages feed

exitcode 0.1.0.7 → 0.1.0.8

raw patch · 3 files changed

+18/−1 lines, 3 filesPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

API changes (from Hackage documentation)

+ Control.Exitcode: tryExitcode :: Exception e' => ExitcodeT IO e a -> ExitcodeT (ExceptT e' IO) e (Either e' a)

Files

changelog.md view
@@ -1,3 +1,7 @@+0.1.0.8++* add `tryExitcode`+ 0.1.0.7  * Widen version boundaries
exitcode.cabal view
@@ -1,7 +1,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/  name:                   exitcode-version:                0.1.0.7+version:                0.1.0.8 synopsis:               Monad transformer for exit codes description:   <<https://system-f.gitlab.io/logo/systemf-450x450.jpg>>
src/Control/Exitcode.hs view
@@ -37,6 +37,8 @@ , runExitcode0 , runExitcodeT1 , runExitcode1+-- * Exceptions+, tryExitcode -- * Optics , exitCode , _ExitcodeInt@@ -47,9 +49,11 @@ , _Exitcode1 ) where + import Control.Applicative     ( Applicative((<*>), pure, liftA2) ) import Control.Category ( Category((.)) )+import Control.Exception import Control.Lens     ( preview,       view,@@ -67,6 +71,7 @@ import Control.Monad ( join, Monad(return, (>>=)) ) import Control.Monad.Cont.Class ( MonadCont(..) ) import Control.Monad.Error.Class ( MonadError(..) )+import Control.Monad.Except ( ExceptT(..) ) import Control.Monad.IO.Class ( MonadIO(..) ) import Control.Monad.Reader ( MonadReader(ask, local) ) import Control.Monad.RWS.Class ( MonadRWS )@@ -104,6 +109,7 @@ import Data.Tuple ( uncurry ) import GHC.Show ( Show(showsPrec) ) import System.Exit ( ExitCode(..) )+import System.IO  -- $setup -- >>> import Prelude@@ -732,6 +738,13 @@   -> Either (a, Int) a runExitcode1 =   runIdentity . runExitcodeT1++tryExitcode ::+  Exception e' =>+  ExitcodeT IO e a+  -> ExitcodeT (ExceptT e' IO) e (Either e' a)+tryExitcode (ExitcodeT x) =+  ExitcodeT (ExceptT (fmap (fmap (fmap Right)) (try x)))  -- | A lens to the value associated with an exitcode. --