X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=System%2FEnvironment.hs;h=245a9db41900c5a1b488189e7cdd1a2860118323;hb=fc345f2121d1aadd8a07125afb940949d5d0af2b;hp=4c62fca6911a5a66e17427a987eeb4b10b189e89;hpb=f00fe3e6cb628f3bfac049275660f0365daa3733;p=ghc-base.git diff --git a/System/Environment.hs b/System/Environment.hs index 4c62fca..245a9db 100644 --- a/System/Environment.hs +++ b/System/Environment.hs @@ -17,22 +17,21 @@ module System.Environment getArgs, -- :: IO [String] getProgName, -- :: IO String getEnv, -- :: String -> IO String -#ifdef __GLASGOW_HASKELL__ +#ifndef __NHC__ withArgs, withProgName, #endif ) where import Prelude -#ifndef __NHC__ -import Control.Exception ( bracket ) -#endif #ifdef __GLASGOW_HASKELL__ import Foreign import Foreign.C +import Control.Exception ( bracket ) import Control.Monad import GHC.IOBase +#include "config.h" #endif #ifdef __HUGS__ @@ -50,7 +49,7 @@ import System -- --------------------------------------------------------------------------- -- getArgs, getProgName, getEnv --- Computation `getArgs' returns a list of the program's command +-- | Computation 'getArgs' returns a list of the program's command -- line arguments (not including the program name). #ifdef __GLASGOW_HASKELL__ @@ -106,11 +105,13 @@ unpackProgName argv = do isPathSeparator _ = False --- Computation `getEnv var' returns the value --- of the environment variable {\em var}. - --- This computation may fail with --- NoSuchThing: The environment variable does not exist. +-- | Computation 'getEnv' @var@ returns the value +-- of the environment variable @var@. +-- +-- This computation may fail with: +-- +-- * 'System.IO.Error.isDoesNotExistError' if the environment variable +-- does not exist. getEnv :: String -> IO String getEnv name = @@ -125,8 +126,8 @@ foreign import ccall unsafe "getenv" c_getenv :: CString -> IO (Ptr CChar) {-| -@withArgs args act@ - while executing action @act@, have 'System.getArgs' -return @args@ (GHC only). +'withArgs' @args act@ - while executing action @act@, have 'getArgs' +return @args@. -} withArgs :: [String] -> IO a -> IO a withArgs xs act = do @@ -134,8 +135,8 @@ withArgs xs act = do withArgv (p:xs) act {-| -@withProgName name act@ - while executing action @act@, -have 'System.getProgName' return @name@ (GHC only). +'withProgName' @name act@ - while executing action @act@, +have 'getProgName' return @name@. -} withProgName :: String -> IO a -> IO a withProgName nm act = do