Defines the exit codes that a program can return.
indicates successful termination;
indicates program failure with an exit code. The exact interpretation of the code is operating-system dependent. In particular, some values may be prohibited (e.g. 0 on a POSIX-compliant system).
terminates the program, returning
to the program's caller.
The caller may interpret the return code as it wishes, but the program
ExitSuccess to mean normal completion, and
to mean that the program encountered a problem from
which it could not recover. The value
exitFailure is equal to
exitWith bypasses the error handling in
the I/O monad and cannot be intercepted by
catch from the