Skip to content

ExitCode consistency

Haskell 98 says

Computation system cmd returns the exit code produced when the operating system processes the command cmd.

and

The exact interpretation of code is operating-system dependent.

However, on Unix systems system "exit 3" >>= print prints ExitFailure 3 under ghc and hugs, but ExitFailure 768 under nhc98, despite both being the same operating system.

It may not be possible to fix this within the boundaries of the report, but Something Must Be Done somewhere.

Additionally, the report says

The value exitFailure is equal to exitWith (ExitFailure exitfail), where exitfail is implementation-dependent.

while operating-system dependent seems better than implementation-dependent.

Trac metadata
Trac field Value
Version
Type Task
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component HaskellPrime
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information