module RIO.Prelude.Exit
( exitFailure
, exitSuccess
, exitWith
, System.Exit.ExitCode(..)
) where
import Control.Monad.IO.Class
import qualified System.Exit ( ExitCode (..)
, exitFailure
, exitSuccess
, exitWith
)
exitFailure :: MonadIO m => m a
exitFailure :: m a
exitFailure = IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO IO a
forall a. IO a
System.Exit.exitFailure
exitSuccess :: MonadIO m => m a
exitSuccess :: m a
exitSuccess = IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO IO a
forall a. IO a
System.Exit.exitSuccess
exitWith :: MonadIO m => System.Exit.ExitCode -> m a
exitWith :: ExitCode -> m a
exitWith ExitCode
code = IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO a -> m a) -> IO a -> m a
forall a b. (a -> b) -> a -> b
$ ExitCode -> IO a
forall a. ExitCode -> IO a
System.Exit.exitWith ExitCode
code