| Portability | portable |
|---|---|
| Stability | provisional |
| Maintainer | libraries@haskell.org |
System.Environment
Description
Miscellaneous information about the system environment.
Documentation
Computation getArgs returns a list of the program's command
line arguments (not including the program name).
getProgName :: IO String
Computation getProgName returns the name of the program as it was
invoked.
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.
Computation getEnv var returns the value
of the environment variable var.
This computation may fail with:
-
System.IO.Error.isDoesNotExistErrorif the environment variable does not exist.
withProgName :: String -> IO a -> IO a
withProgName name act - while executing action act,
have getProgName return name.
getEnvironment :: IO [(String, String)]
getEnvironment retrieves the entire environment as a
list of (key,value) pairs.
If an environment entry does not contain an '=' character,
the key is the whole entry and the value is the empty string.