<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--Rendered using the Haskell Html Library v0.2--> <HTML ><HEAD ><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" ><TITLE >System.Environment</TITLE ><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" ><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" ></SCRIPT ><SCRIPT TYPE="text/javascript" >window.onload = function () {setSynopsis("mini_System-Environment.html")};</SCRIPT ></HEAD ><BODY ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="topbar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " ></TD ><TD CLASS="title" >base-4.1.0.0: Basic libraries</TD ><TD CLASS="topbut" ><A HREF="index.html" >Contents</A ></TD ><TD CLASS="topbut" ><A HREF="doc-index.html" >Index</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="modulebar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><FONT SIZE="6" >System.Environment</FONT ></TD ><TD ALIGN="right" ><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="infohead" >Portability</TD ><TD CLASS="infoval" >portable</TD ></TR ><TR ><TD CLASS="infohead" >Stability</TD ><TD CLASS="infoval" >provisional</TD ></TR ><TR ><TD CLASS="infohead" >Maintainer</TD ><TD CLASS="infoval" >libraries@haskell.org</TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Description</TD ></TR ><TR ><TD CLASS="doc" >Miscellaneous information about the system environment. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Synopsis</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="#v%3AgetArgs" >getArgs</A > :: <A HREF="System-IO.html#t%3AIO" >IO</A > [<A HREF="Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AgetProgName" >getProgName</A > :: <A HREF="System-IO.html#t%3AIO" >IO</A > <A HREF="Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AgetEnv" >getEnv</A > :: <A HREF="Data-Char.html#t%3AString" >String</A > -> <A HREF="System-IO.html#t%3AIO" >IO</A > <A HREF="Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AwithArgs" >withArgs</A > :: [<A HREF="Data-Char.html#t%3AString" >String</A >] -> <A HREF="System-IO.html#t%3AIO" >IO</A > a -> <A HREF="System-IO.html#t%3AIO" >IO</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AwithProgName" >withProgName</A > :: <A HREF="Data-Char.html#t%3AString" >String</A > -> <A HREF="System-IO.html#t%3AIO" >IO</A > a -> <A HREF="System-IO.html#t%3AIO" >IO</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AgetEnvironment" >getEnvironment</A > :: <A HREF="System-IO.html#t%3AIO" >IO</A > [(<A HREF="Data-Char.html#t%3AString" >String</A >, <A HREF="Data-Char.html#t%3AString" >String</A >)]</TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Documentation</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:getArgs" ><A NAME="v%3AgetArgs" ></A ></A ><B >getArgs</B > :: <A HREF="System-IO.html#t%3AIO" >IO</A > [<A HREF="Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="doc" >Computation <TT ><A HREF="System-Environment.html#v%3AgetArgs" >getArgs</A ></TT > returns a list of the program's command line arguments (not including the program name). </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:getProgName" ><A NAME="v%3AgetProgName" ></A ></A ><B >getProgName</B > :: <A HREF="System-IO.html#t%3AIO" >IO</A > <A HREF="Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="doc" ><P >Computation <TT ><A HREF="System-Environment.html#v%3AgetProgName" >getProgName</A ></TT > returns the name of the program as it was invoked. </P ><P >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 <TT >FOO.EXE</TT >, and that is what <TT ><A HREF="System-Environment.html#v%3AgetProgName" >getProgName</A ></TT > will return. </P ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:getEnv" ><A NAME="v%3AgetEnv" ></A ></A ><B >getEnv</B > :: <A HREF="Data-Char.html#t%3AString" >String</A > -> <A HREF="System-IO.html#t%3AIO" >IO</A > <A HREF="Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="doc" ><P >Computation <TT ><A HREF="System-Environment.html#v%3AgetEnv" >getEnv</A ></TT > <TT >var</TT > returns the value of the environment variable <TT >var</TT >. </P ><P >This computation may fail with: </P ><UL ><LI > System.IO.Error.isDoesNotExistError if the environment variable does not exist. </LI ></UL ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:withArgs" ><A NAME="v%3AwithArgs" ></A ></A ><B >withArgs</B > :: [<A HREF="Data-Char.html#t%3AString" >String</A >] -> <A HREF="System-IO.html#t%3AIO" >IO</A > a -> <A HREF="System-IO.html#t%3AIO" >IO</A > a</TD ></TR ><TR ><TD CLASS="doc" ><TT ><A HREF="System-Environment.html#v%3AwithArgs" >withArgs</A ></TT > <TT >args act</TT > - while executing action <TT >act</TT >, have <TT ><A HREF="System-Environment.html#v%3AgetArgs" >getArgs</A ></TT > return <TT >args</TT >. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:withProgName" ><A NAME="v%3AwithProgName" ></A ></A ><B >withProgName</B > :: <A HREF="Data-Char.html#t%3AString" >String</A > -> <A HREF="System-IO.html#t%3AIO" >IO</A > a -> <A HREF="System-IO.html#t%3AIO" >IO</A > a</TD ></TR ><TR ><TD CLASS="doc" ><TT ><A HREF="System-Environment.html#v%3AwithProgName" >withProgName</A ></TT > <TT >name act</TT > - while executing action <TT >act</TT >, have <TT ><A HREF="System-Environment.html#v%3AgetProgName" >getProgName</A ></TT > return <TT >name</TT >. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:getEnvironment" ><A NAME="v%3AgetEnvironment" ></A ></A ><B >getEnvironment</B > :: <A HREF="System-IO.html#t%3AIO" >IO</A > [(<A HREF="Data-Char.html#t%3AString" >String</A >, <A HREF="Data-Char.html#t%3AString" >String</A >)]</TD ></TR ><TR ><TD CLASS="doc" ><P ><TT ><A HREF="System-Environment.html#v%3AgetEnvironment" >getEnvironment</A ></TT > retrieves the entire environment as a list of <TT >(key,value)</TT > pairs. </P ><P >If an environment entry does not contain an <TT >'='</TT > character, the <TT >key</TT > is the whole entry and the <TT >value</TT > is the empty string. </P ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="botbar" >Produced by <A HREF="http://www.haskell.org/haddock/" >Haddock</A > version 2.4.2</TD ></TR ></TABLE ></BODY ></HTML >