getArgs :: IO [String] |
getProgName :: IO String |
However, this is hard-to-impossible to implement on some non-Unix OSes, so instead, for maximum portability, we just return the leafname of the program as invoked. Even then there are some differences between platforms: on Windows, for example, a program invoked as foo is probably really FOO.EXE, and that is what getProgName will return.
getEnv :: String -> IO String |
This computation may fail with: