ref: ba44b0a8e3c6b5d4720b322b68ace937fdab9a9e
dir: /lib/System/Exit.hs/
module System.Exit( ExitCode(..), exitWith, exitFailure, exitSuccess, die, ) where import Prelude(); import MiniPrelude import Control.Exception import Data.Typeable import System.IO data ExitCode = ExitSuccess | ExitFailure Int deriving (Eq, Typeable, Show) instance Exception ExitCode exitWith :: forall a . ExitCode -> IO a exitWith = throwIO exitFailure :: forall a . IO a exitFailure = exitWith (ExitFailure 1) exitSuccess :: forall a . IO a exitSuccess = exitWith ExitSuccess die :: forall a . String -> IO a die err = hPutStrLn stderr err >> exitFailure