planet-mitchell-0.1.0: Planet Mitchell

Safe HaskellSafe




getArgs :: IO [String] #

Computation getArgs returns a list of the program's command line arguments (not including the program name).

getFullArgs :: IO [String] #

Computation getFullArgs is the "raw" version of getArgs, similar to argv in other languages. It returns a list of the program's command line arguments, starting with the program name, and including those normally eaten by the RTS (+RTS ... -RTS).

withArgs :: [String] -> IO a -> IO a #

withArgs args act - while executing action act, have getArgs return args.

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.

withProgName :: String -> IO a -> IO a #

withProgName name act - while executing action act, have getProgName return name.

getExecutablePath :: IO FilePath #

Returns the absolute pathname of the current executable.

Note that for scripts and interactive sessions, this is the path to the interpreter (e.g. ghci.)

Since base, getExecutablePath resolves symlinks on Windows. If an executable is launched through a symlink, getExecutablePath returns the absolute path of the original executable.

Since: base-

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.

getEnvDefault #


:: String

variable name

-> String

fallback value

-> IO String

variable value or fallback value

Get an environment value or a default value.

setEnv #


:: String

variable name

-> String

variable value

-> Bool


-> IO () 

Like setEnv, but allows blank environment values and mimics the function signature of setEnv from the unix package.

unsetEnv :: String -> IO () #

Like unsetEnv, but allows for the removal of blank environment variables.