primExit n
ioError (IOError Nothing OtherError "exitWith" "exit should not return")
+-- NOTE: shutdownHaskellAndExit must be called "safe", because it *can*
+-- re-enter Haskell land through finalizers.
foreign import ccall "shutdownHaskellAndExit" primExit :: Int -> IO ()
exitFailure :: IO a
--
-- Suitable for use with Hugs 98
-----------------------------------------------------------------------------
-import Prelude
-import privileged Prelude ( primGetRawArgs
- , primGetEnv
- , prelCleanupAfterRunAction
- , copy_String_to_cstring
- , readIORef
- , nh_stderr
- , nh_stdout
- , nh_stdin
- , nh_exitwith
- , nh_flush
- , nh_close
- , nh_system
- , nh_free
- , nh_getPID
- )
+import PrelPrim ( primGetRawArgs
+ , primGetEnv
+ , prelCleanupAfterRunAction
+ , copy_String_to_cstring
+ , readIORef
+ , nh_stderr
+ , nh_stdout
+ , nh_stdin
+ , nh_exitwith
+ , nh_flush
+ , nh_close
+ , nh_system
+ , nh_free
+ , nh_getPID
+ )
data ExitCode = ExitSuccess | ExitFailure Int
getArgs :: IO [String]
getArgs = primGetRawArgs >>= \rawargs ->
- return (drop 1 (dropWhile (/= "--") rawargs))
+ return (tail rawargs)
getProgName :: IO String
getProgName = primGetRawArgs >>= \rawargs ->