-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Monad transformer for exit codes
--
--
-- Monad transformer for exit codes
@package exitcode
@version 0.1.0.2
module Control.Exitcode
-- | An exit code status where failing with a value `0` cannot be
-- represented.
--
-- Transformer for either a non-zero exit code (Int) or a value ::
-- a.
data ExitcodeT f a
type Exitcode a = ExitcodeT Identity a
type ExitcodeT0 f = ExitcodeT f ()
type Exitcode0 = Exitcode ()
-- | Construct a succeeding exit code with the given value.
exitsuccess :: Applicative f => a -> ExitcodeT f a
-- | Construct a succeeding exit code with unit.
exitsuccess0 :: Applicative f => ExitcodeT0 f
-- | Construct a failing exit code with the given status.
--
-- If the given status is `0` then the exit code will succeed with unit.
exitfailure0 :: Applicative f => Int -> ExitcodeT0 f
fromExitCode :: Functor f => f ExitCode -> ExitcodeT0 f
runExitcode :: ExitcodeT f a -> f (Either Int a)
exitCode :: (Functor f, Functor g) => Iso (f ExitCode) (g ExitCode) (ExitcodeT0 (MaybeT f)) (ExitcodeT0 (MaybeT g))
_ExitFailure :: Prism' Exitcode0 Int
_ExitSuccess :: Prism (Exitcode a) (Exitcode b) a b
instance GHC.Base.Functor f => GHC.Base.Functor (Control.Exitcode.ExitcodeT f)
instance Data.Functor.Bind.Class.Apply f => Data.Functor.Bind.Class.Apply (Control.Exitcode.ExitcodeT f)
instance GHC.Base.Applicative f => GHC.Base.Applicative (Control.Exitcode.ExitcodeT f)
instance (Data.Functor.Bind.Class.Bind f, GHC.Base.Monad f) => Data.Functor.Bind.Class.Bind (Control.Exitcode.ExitcodeT f)
instance GHC.Base.Monad f => GHC.Base.Monad (Control.Exitcode.ExitcodeT f)
instance GHC.Base.Monad f => Data.Functor.Alt.Alt (Control.Exitcode.ExitcodeT f)
instance GHC.Base.Monad f => GHC.Base.Semigroup (Control.Exitcode.ExitcodeT f a)
instance GHC.Base.Applicative f => Data.Functor.Extend.Extend (Control.Exitcode.ExitcodeT f)
instance (Data.Functor.Classes.Eq1 f, GHC.Classes.Eq a) => GHC.Classes.Eq (Control.Exitcode.ExitcodeT f a)
instance Data.Functor.Classes.Eq1 f => Data.Functor.Classes.Eq1 (Control.Exitcode.ExitcodeT f)
instance (Data.Functor.Classes.Ord1 f, GHC.Classes.Ord a) => GHC.Classes.Ord (Control.Exitcode.ExitcodeT f a)
instance Data.Functor.Classes.Ord1 f => Data.Functor.Classes.Ord1 (Control.Exitcode.ExitcodeT f)
instance (Data.Functor.Classes.Show1 f, GHC.Show.Show a) => GHC.Show.Show (Control.Exitcode.ExitcodeT f a)
instance Data.Functor.Classes.Show1 f => Data.Functor.Classes.Show1 (Control.Exitcode.ExitcodeT f)
instance Data.Foldable.Foldable f => Data.Foldable.Foldable (Control.Exitcode.ExitcodeT f)
instance Data.Semigroup.Foldable.Class.Foldable1 f => Data.Semigroup.Foldable.Class.Foldable1 (Control.Exitcode.ExitcodeT f)
instance Data.Traversable.Traversable f => Data.Traversable.Traversable (Control.Exitcode.ExitcodeT f)
instance Control.Monad.IO.Class.MonadIO f => Control.Monad.IO.Class.MonadIO (Control.Exitcode.ExitcodeT f)
instance Control.Monad.Trans.Class.MonadTrans Control.Exitcode.ExitcodeT
instance Control.Monad.Reader.Class.MonadReader r f => Control.Monad.Reader.Class.MonadReader r (Control.Exitcode.ExitcodeT f)
instance Control.Monad.Writer.Class.MonadWriter w f => Control.Monad.Writer.Class.MonadWriter w (Control.Exitcode.ExitcodeT f)
instance Control.Monad.State.Class.MonadState s f => Control.Monad.State.Class.MonadState s (Control.Exitcode.ExitcodeT f)
instance Control.Monad.Error.Class.MonadError e f => Control.Monad.Error.Class.MonadError e (Control.Exitcode.ExitcodeT f)
instance Control.Monad.RWS.Class.MonadRWS r w s f => Control.Monad.RWS.Class.MonadRWS r w s (Control.Exitcode.ExitcodeT f)
instance Control.Monad.Cont.Class.MonadCont f => Control.Monad.Cont.Class.MonadCont (Control.Exitcode.ExitcodeT f)
instance Control.Monad.Morph.MFunctor Control.Exitcode.ExitcodeT
instance Control.Monad.Morph.MMonad Control.Exitcode.ExitcodeT