argKey :: String -> String -> String argFlag :: String -> Bool -> Bool argReadKey :: (Read p, Show p) => String -> p -> p args :: [String] options :: [(String, String)]
These functions date back to the early days when Fudgets
were implemented in Lazy ML, which had functions like
getenv :: String->String and readfile :: FilePath->String.
While they don't have any side effects, they are not really pure functions
either, since their results depend not only on the arguments, but also
on the state of the world outside the running program, so such functions
are normally not available in Haskell.