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 +4/−0
- exitcode.cabal +1/−1
- src/Control/Exitcode.hs +13/−0
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. --