<!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.Console.CmdArgs.Explicit</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-Console-CmdArgs-Explicit.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" >cmdargs-0.7: Command line argument processing</TD ><TD CLASS="topbut" ><A HREF="src/System-Console-CmdArgs-Explicit.html" >Source code</A ></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.Console.CmdArgs.Explicit</FONT ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" ><B >Contents</B ></TD ></TR ><TR ><TD ><DL ><DT ><A HREF="#1" >Running command lines </A ></DT ><DT ><A HREF="#2" >Constructing command lines </A ></DT ><DT ><A HREF="#3" >Displaying help </A ></DT ></DL ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Description</TD ></TR ><TR ><TD CLASS="doc" ><P >This module constructs command lines. You may either use the helper functions (<TT ><A HREF="System-Console-CmdArgs-Explicit.html#v%3AflagNone" >flagNone</A ></TT >, <TT ><A HREF="System-Console-CmdArgs-Explicit.html#v%3AflagOpt" >flagOpt</A ></TT >, <TT ><A HREF="System-Console-CmdArgs-Explicit.html#v%3Amode" >mode</A ></TT > etc.) or construct the type directly. These types are intended to give all the necessary power to the person constructing a command line parser. </P ><P >For people constructing simpler command line parsers, the module <A HREF="System-Console-CmdArgs-Implicit.html" >System.Console.CmdArgs.Implicit</A > may be more appropriate. </P ><P >As an example of a parser: </P ><PRE > arguments :: Mode [(String,String)] arguments = mode "explicit" [] "Explicit sample program" (flagArg (upd "file") "FILE") [flagOpt "world" ["hello","h"] (upd "world") "WHO" "World argument" ,flagReq ["greeting","g"] (upd "greeting") "MSG" "Greeting to give" ,flagHelpSimple (("help",""):)] where upd msg x v = Right $ (msg,x):v </PRE ><P >And this can be invoked by: </P ><PRE > main = do x <- processArgs arguments if ("help","") `elem` xs then print $ helpText def arguments else print x </PRE ><P ><EM >Groups</EM >: The <TT ><A HREF="System-Console-CmdArgs-Explicit.html#t%3AGroup" >Group</A ></TT > structure allows flags/modes to be grouped for the purpose of displaying help. When processing command lines, the group structure is ignored. </P ><P ><EM >Modes</EM >: The Explicit module allows multiple mode programs by placing additional modes in <TT ><A HREF="System-Console-CmdArgs-Explicit.html#v%3AmodeGroupModes" >modeGroupModes</A ></TT >. Every mode is allowed sub-modes, and thus multiple levels of mode may be created. Given a mode <TT >x</TT > with sub-modes <TT >xs</TT >, if the first argument corresponds to the name of a sub-mode, then that sub-mode will be applied. If not, then the arguments will be processed by mode <TT >x</TT >. Consequently, if you wish to force the user to explicitly enter a mode, simply give sub-modes, and leave <TT ><A HREF="System-Console-CmdArgs-Explicit.html#v%3AmodeArgs" >modeArgs</A ></TT > as <TT >Nothing</TT >. Alternatively, if you want one sub-mode to be selected by default, place all it's flags both in the sub-mode and the outer mode. </P ></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%3Aprocess" >process</A > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a -> [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >] -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Either.html#t%3AEither" >Either</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AprocessValue" >processValue</A > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a -> [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >] -> a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AprocessArgs" >processArgs</A > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3AName" >Name</A > = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3AHelp" >Help</A > = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3AFlagHelp" >FlagHelp</A > = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AparseBool" >parseBool</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AGroup" >Group</A > a = <A HREF="#v%3AGroup" >Group</A > {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="recfield" ><A HREF="#v%3AgroupUnnamed" >groupUnnamed</A > :: [a]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AgroupHidden" >groupHidden</A > :: [a]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AgroupNamed" >groupNamed</A > :: [(<A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelp" >Help</A >, [a])]</TD ></TR ></TABLE >}</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfromGroup" >fromGroup</A > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AGroup" >Group</A > a -> [a]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AtoGroup" >toGroup</A > :: [a] -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AGroup" >Group</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AMode" >Mode</A > a = <A HREF="#v%3AMode" >Mode</A > {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="recfield" ><A HREF="#v%3AmodeGroupModes" >modeGroupModes</A > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AGroup" >Group</A > (<A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a)</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AmodeNames" >modeNames</A > :: [<A HREF="System-Console-CmdArgs-Explicit.html#t%3AName" >Name</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AmodeValue" >modeValue</A > :: a</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AmodeCheck" >modeCheck</A > :: a -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Either.html#t%3AEither" >Either</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > a</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AmodeReform" >modeReform</A > :: a -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AmodeHelp" >modeHelp</A > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelp" >Help</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AmodeHelpSuffix" >modeHelpSuffix</A > :: [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AmodeArgs" >modeArgs</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > (<A HREF="System-Console-CmdArgs-Explicit.html#t%3AArg" >Arg</A > a)</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AmodeGroupFlags" >modeGroupFlags</A > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AGroup" >Group</A > (<A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlag" >Flag</A > a)</TD ></TR ></TABLE >}</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmodeModes" >modeModes</A > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a -> [<A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmodeFlags" >modeFlags</A > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a -> [<A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlag" >Flag</A > a]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AFlagInfo" >FlagInfo</A > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3AFlagReq" >FlagReq</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AFlagOpt" >FlagOpt</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AFlagOptRare" >FlagOptRare</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AFlagNone" >FlagNone</A ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfromFlagOpt" >fromFlagOpt</A > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlagInfo" >FlagInfo</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3AUpdate" >Update</A > a = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> a -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Either.html#t%3AEither" >Either</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AFlag" >Flag</A > a = <A HREF="#v%3AFlag" >Flag</A > {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="recfield" ><A HREF="#v%3AflagNames" >flagNames</A > :: [<A HREF="System-Console-CmdArgs-Explicit.html#t%3AName" >Name</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AflagInfo" >flagInfo</A > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlagInfo" >FlagInfo</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AflagValue" >flagValue</A > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AUpdate" >Update</A > a</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AflagType" >flagType</A > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlagHelp" >FlagHelp</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AflagHelp" >flagHelp</A > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelp" >Help</A ></TD ></TR ></TABLE >}</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AArg" >Arg</A > a = <A HREF="#v%3AArg" >Arg</A > {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="recfield" ><A HREF="#v%3AargValue" >argValue</A > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AUpdate" >Update</A > a</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AargType" >argType</A > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlagHelp" >FlagHelp</A ></TD ></TR ></TABLE >}</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcheckMode" >checkMode</A > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A HREF="#t%3ARemap" >Remap</A > m <SPAN CLASS="keyword" >where</SPAN ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="#v%3Aremap" >remap</A > :: (a -> b) -> (b -> (a, a -> b)) -> m a -> m b</TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Aremap2" >remap2</A > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3ARemap" >Remap</A > m => (a -> b) -> (b -> a) -> m a -> m b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmodeEmpty" >modeEmpty</A > :: a -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amode" >mode</A > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AName" >Name</A > -> a -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelp" >Help</A > -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AArg" >Arg</A > a -> [<A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlag" >Flag</A > a] -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amodes" >modes</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> a -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelp" >Help</A > -> [<A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a] -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AflagNone" >flagNone</A > :: [<A HREF="System-Console-CmdArgs-Explicit.html#t%3AName" >Name</A >] -> (a -> a) -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelp" >Help</A > -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlag" >Flag</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AflagOpt" >flagOpt</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> [<A HREF="System-Console-CmdArgs-Explicit.html#t%3AName" >Name</A >] -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AUpdate" >Update</A > a -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlagHelp" >FlagHelp</A > -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelp" >Help</A > -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlag" >Flag</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AflagReq" >flagReq</A > :: [<A HREF="System-Console-CmdArgs-Explicit.html#t%3AName" >Name</A >] -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AUpdate" >Update</A > a -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlagHelp" >FlagHelp</A > -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelp" >Help</A > -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlag" >Flag</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AflagArg" >flagArg</A > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AUpdate" >Update</A > a -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlagHelp" >FlagHelp</A > -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AArg" >Arg</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AflagBool" >flagBool</A > :: [<A HREF="System-Console-CmdArgs-Explicit.html#t%3AName" >Name</A >] -> (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> a -> a) -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelp" >Help</A > -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlag" >Flag</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AflagHelpSimple" >flagHelpSimple</A > :: (a -> a) -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlag" >Flag</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AflagHelpFormat" >flagHelpFormat</A > :: (<A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelpFormat" >HelpFormat</A > -> <A HREF="System-Console-CmdArgs-Text.html#t%3ATextFormat" >TextFormat</A > -> a -> a) -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlag" >Flag</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AflagVersion" >flagVersion</A > :: (a -> a) -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlag" >Flag</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AflagsVerbosity" >flagsVerbosity</A > :: (<A HREF="System-Console-CmdArgs-Verbosity.html#t%3AVerbosity" >Verbosity</A > -> a -> a) -> [<A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlag" >Flag</A > a]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AHelpFormat" >HelpFormat</A > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3AHelpFormatDefault" >HelpFormatDefault</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AHelpFormatOne" >HelpFormatOne</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AHelpFormatAll" >HelpFormatAll</A ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AhelpText" >helpText</A > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelpFormat" >HelpFormat</A > -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a -> [<A HREF="System-Console-CmdArgs-Text.html#t%3AText" >Text</A >]</TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="1" ><A NAME="1" >Running command lines </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:process" ><A NAME="v%3Aprocess" ></A ></A ><B >process</B > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a -> [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >] -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Either.html#t%3AEither" >Either</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > a</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Process.html#process" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Process a list of flags (usually obtained from <TT >getArgs</TT >) with a mode. Returns <TT >Left</TT > and an error message if the command line fails to parse, or <TT >Right</TT > and the associated value. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:processValue" ><A NAME="v%3AprocessValue" ></A ></A ><B >processValue</B > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a -> [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >] -> a</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Process.html#processValue" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Process a list of flags (usually obtained from <TT >getArgs</TT >) with a mode. Displays an error and exits with failure if the command line fails to parse, or returns the associated value. Implemeneted in terms of <TT ><A HREF="System-Console-CmdArgs-Explicit.html#v%3Aprocess" >process</A ></TT >. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:processArgs" ><A NAME="v%3AprocessArgs" ></A ></A ><B >processArgs</B > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > a</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Process.html#processArgs" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Process the flags obtained by <TT >getArgs</TT > with a mode. Displays an error and exits with failure if the command line fails to parse, or returns the associated value. Implemented in terms of <TT ><A HREF="System-Console-CmdArgs-Explicit.html#v%3Aprocess" >process</A ></TT >. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="2" ><A NAME="2" >Constructing command lines </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:Name" ><A NAME="t%3AName" ></A ></A ><B >Name</B > = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#Name" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >A name, either the name of a flag (<TT >--<EM >foo</EM ></TT >) or the name of a mode. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:Help" ><A NAME="t%3AHelp" ></A ></A ><B >Help</B > = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#Help" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >A help message that goes with either a flag or a mode. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:FlagHelp" ><A NAME="t%3AFlagHelp" ></A ></A ><B >FlagHelp</B > = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#FlagHelp" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >The type of a flag, i.e. <TT >--foo=<EM >TYPE</EM ></TT >. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:parseBool" ><A NAME="v%3AparseBool" ></A ></A ><B >parseBool</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#parseBool" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Parse a boolean, accepts as True: true yes on enabled 1. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Group" ><A NAME="t%3AGroup" ></A ></A ><B >Group</B > a </TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#Group" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >A group of items (modes or flags). The items are treated as a list, but the group structure is used when displaying the help message. </TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:Group" ><A NAME="v%3AGroup" ></A ></A ><B >Group</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="body" COLSPAN="2" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:groupUnnamed" ><A NAME="v%3AgroupUnnamed" ></A ></A ><B >groupUnnamed</B > :: [a]</TD ><TD CLASS="rdoc" >Normal items. </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:groupHidden" ><A NAME="v%3AgroupHidden" ></A ></A ><B >groupHidden</B > :: [a]</TD ><TD CLASS="rdoc" >Items that are hidden (not displayed in the help message). </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:groupNamed" ><A NAME="v%3AgroupNamed" ></A ></A ><B >groupNamed</B > :: [(<A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelp" >Help</A >, [a])]</TD ><TD CLASS="rdoc" >Items that have been grouped, along with a description of each group. </TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Group')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:Group" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor" >Functor</A > <A HREF="System-Console-CmdArgs-Explicit.html#t%3AGroup" >Group</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > a => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > (<A HREF="System-Console-CmdArgs-Explicit.html#t%3AGroup" >Group</A > a)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Monoid.html#t%3AMonoid" >Monoid</A > (<A HREF="System-Console-CmdArgs-Explicit.html#t%3AGroup" >Group</A > a)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:fromGroup" ><A NAME="v%3AfromGroup" ></A ></A ><B >fromGroup</B > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AGroup" >Group</A > a -> [a]</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#fromGroup" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Convert a group into a list. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:toGroup" ><A NAME="v%3AtoGroup" ></A ></A ><B >toGroup</B > :: [a] -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AGroup" >Group</A > a</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#toGroup" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Convert a list into a group, placing all fields in <TT ><A HREF="System-Console-CmdArgs-Explicit.html#v%3AgroupUnnamed" >groupUnnamed</A ></TT >. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Mode" ><A NAME="t%3AMode" ></A ></A ><B >Mode</B > a </TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#Mode" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" ><P >A mode. Each mode has three main features: </P ><UL ><LI > A list of submodes (<TT ><A HREF="System-Console-CmdArgs-Explicit.html#v%3AmodeGroupModes" >modeGroupModes</A ></TT >) </LI ><LI > A list of flags (<TT ><A HREF="System-Console-CmdArgs-Explicit.html#v%3AmodeGroupFlags" >modeGroupFlags</A ></TT >) </LI ><LI > Optionally an unnamed argument (<TT ><A HREF="System-Console-CmdArgs-Explicit.html#v%3AmodeArgs" >modeArgs</A ></TT >) </LI ></UL ></TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:Mode" ><A NAME="v%3AMode" ></A ></A ><B >Mode</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="body" COLSPAN="2" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:modeGroupModes" ><A NAME="v%3AmodeGroupModes" ></A ></A ><B >modeGroupModes</B > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AGroup" >Group</A > (<A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a)</TD ><TD CLASS="rdoc" >The available sub-modes </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:modeNames" ><A NAME="v%3AmodeNames" ></A ></A ><B >modeNames</B > :: [<A HREF="System-Console-CmdArgs-Explicit.html#t%3AName" >Name</A >]</TD ><TD CLASS="rdoc" >The names assigned to this mode (for the root mode, this name is used as the program name) </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:modeValue" ><A NAME="v%3AmodeValue" ></A ></A ><B >modeValue</B > :: a</TD ><TD CLASS="rdoc" >Value to start with </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:modeCheck" ><A NAME="v%3AmodeCheck" ></A ></A ><B >modeCheck</B > :: a -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Either.html#t%3AEither" >Either</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > a</TD ><TD CLASS="rdoc" >Check the value reprsented by a mode is correct, after applying all flags </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:modeReform" ><A NAME="v%3AmodeReform" ></A ></A ><B >modeReform</B > :: a -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ><TD CLASS="rdoc" >Given a value, try to generate the input arguments. </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:modeHelp" ><A NAME="v%3AmodeHelp" ></A ></A ><B >modeHelp</B > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelp" >Help</A ></TD ><TD CLASS="rdoc" >Help text </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:modeHelpSuffix" ><A NAME="v%3AmodeHelpSuffix" ></A ></A ><B >modeHelpSuffix</B > :: [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ><TD CLASS="rdoc" >A longer help suffix displayed after a mode </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:modeArgs" ><A NAME="v%3AmodeArgs" ></A ></A ><B >modeArgs</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > (<A HREF="System-Console-CmdArgs-Explicit.html#t%3AArg" >Arg</A > a)</TD ><TD CLASS="rdoc" >An unnamed argument </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:modeGroupFlags" ><A NAME="v%3AmodeGroupFlags" ></A ></A ><B >modeGroupFlags</B > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AGroup" >Group</A > (<A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlag" >Flag</A > a)</TD ><TD CLASS="rdoc" >Groups of flags </TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Mode')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:Mode" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="System-Console-CmdArgs-Explicit.html#t%3ARemap" >Remap</A > <A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > (<A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:modeModes" ><A NAME="v%3AmodeModes" ></A ></A ><B >modeModes</B > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a -> [<A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a]</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#modeModes" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Extract the modes from a <TT ><A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A ></TT > </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:modeFlags" ><A NAME="v%3AmodeFlags" ></A ></A ><B >modeFlags</B > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a -> [<A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlag" >Flag</A > a]</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#modeFlags" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Extract the flags from a <TT ><A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A ></TT > </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:FlagInfo" ><A NAME="t%3AFlagInfo" ></A ></A ><B >FlagInfo</B > </TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#FlagInfo" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" ><P >The <TT ><A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlagInfo" >FlagInfo</A ></TT > type has the following meaning: </P ><PRE > FlagReq FlagOpt FlagOptRare/FlagNone -xfoo -x=foo -x=foo -x= -foo -x foo -x=foo -x foo -x= foo -x=foo -x=foo -x=foo -x=foo --xx foo --xx=foo --xx foo --xx foo --xx=foo --xx=foo --xx=foo --xx=foo </PRE ></TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:FlagReq" ><A NAME="v%3AFlagReq" ></A ></A ><B >FlagReq</B ></TD ><TD CLASS="rdoc" >Required argument </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:FlagOpt" ><A NAME="v%3AFlagOpt" ></A ></A ><B >FlagOpt</B > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="rdoc" >Optional argument </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:FlagOptRare" ><A NAME="v%3AFlagOptRare" ></A ></A ><B >FlagOptRare</B > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="rdoc" >Optional argument that requires an = before the value </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:FlagNone" ><A NAME="v%3AFlagNone" ></A ></A ><B >FlagNone</B ></TD ><TD CLASS="rdoc" >No argument </TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:FlagInfo')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:FlagInfo" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlagInfo" >FlagInfo</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd" >Ord</A > <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlagInfo" >FlagInfo</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlagInfo" >FlagInfo</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:fromFlagOpt" ><A NAME="v%3AfromFlagOpt" ></A ></A ><B >fromFlagOpt</B > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlagInfo" >FlagInfo</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#fromFlagOpt" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Extract the value from inside a <TT ><A HREF="System-Console-CmdArgs-Explicit.html#v%3AFlagOpt" >FlagOpt</A ></TT > or <TT ><A HREF="System-Console-CmdArgs-Explicit.html#v%3AFlagOptRare" >FlagOptRare</A ></TT >, or raises an error. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:Update" ><A NAME="t%3AUpdate" ></A ></A ><B >Update</B > a = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> a -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Either.html#t%3AEither" >Either</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > a</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#Update" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >A function to take a string, and a value, and either produce an error message (<TT >Left</TT >), or a modified value (<TT >Right</TT >). </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Flag" ><A NAME="t%3AFlag" ></A ></A ><B >Flag</B > a </TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#Flag" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >A flag, consisting of a list of flag names and other information. </TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:Flag" ><A NAME="v%3AFlag" ></A ></A ><B >Flag</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="body" COLSPAN="2" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:flagNames" ><A NAME="v%3AflagNames" ></A ></A ><B >flagNames</B > :: [<A HREF="System-Console-CmdArgs-Explicit.html#t%3AName" >Name</A >]</TD ><TD CLASS="rdoc" >The names for the flag. </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:flagInfo" ><A NAME="v%3AflagInfo" ></A ></A ><B >flagInfo</B > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlagInfo" >FlagInfo</A ></TD ><TD CLASS="rdoc" >Information about a flag's arguments. </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:flagValue" ><A NAME="v%3AflagValue" ></A ></A ><B >flagValue</B > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AUpdate" >Update</A > a</TD ><TD CLASS="rdoc" >The way of processing a flag. </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:flagType" ><A NAME="v%3AflagType" ></A ></A ><B >flagType</B > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlagHelp" >FlagHelp</A ></TD ><TD CLASS="rdoc" >The type of data for the flag argument, i.e. FILE/DIR/EXT </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:flagHelp" ><A NAME="v%3AflagHelp" ></A ></A ><B >flagHelp</B > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelp" >Help</A ></TD ><TD CLASS="rdoc" >The help message associated with this flag. </TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Flag')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:Flag" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="System-Console-CmdArgs-Explicit.html#t%3ARemap" >Remap</A > <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlag" >Flag</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > (<A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlag" >Flag</A > a)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Arg" ><A NAME="t%3AArg" ></A ></A ><B >Arg</B > a </TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#Arg" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" ><P >An unnamed argument. Anything not starting with <TT >-</TT > is considered an argument, apart from <TT >"-"</TT > which is considered to be the argument <TT >"-"</TT >, and any arguments following <TT >"--"</TT >. For example: </P ><PRE > programname arg1 -j - --foo arg3 -- -arg4 --arg5=1 arg6 </PRE ><P >Would have the arguments: </P ><PRE > ["arg1","-","arg3","-arg4","--arg5=1","arg6"] </PRE ></TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:Arg" ><A NAME="v%3AArg" ></A ></A ><B >Arg</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="body" COLSPAN="2" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:argValue" ><A NAME="v%3AargValue" ></A ></A ><B >argValue</B > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AUpdate" >Update</A > a</TD ><TD CLASS="rdoc" >A way of processing the argument. </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:argType" ><A NAME="v%3AargType" ></A ></A ><B >argType</B > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlagHelp" >FlagHelp</A ></TD ><TD CLASS="rdoc" >The type of data for the argument, i.e. FILE/DIR/EXT </TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Arg')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:Arg" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="System-Console-CmdArgs-Explicit.html#t%3ARemap" >Remap</A > <A HREF="System-Console-CmdArgs-Explicit.html#t%3AArg" >Arg</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > (<A HREF="System-Console-CmdArgs-Explicit.html#t%3AArg" >Arg</A > a)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:checkMode" ><A NAME="v%3AcheckMode" ></A ></A ><B >checkMode</B > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#checkMode" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Check that a mode is well formed. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >class</SPAN > <A NAME="t:Remap" ><A NAME="t%3ARemap" ></A ></A ><B >Remap</B > m <SPAN CLASS="keyword" >where</SPAN ></TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#Remap" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" >Methods</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:remap" ><A NAME="v%3Aremap" ></A ></A ><B >remap</B ></TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#remap" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="arg" >:: a -> b</TD ><TD CLASS="rdoc" >Embed a value </TD ></TR ><TR ><TD CLASS="arg" >-> b -> (a, a -> b)</TD ><TD CLASS="rdoc" >Extract the mode and give a way of re-embedding </TD ></TR ><TR ><TD CLASS="arg" >-> m a</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" >-> m b</TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Remap')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:Remap" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="System-Console-CmdArgs-Explicit.html#t%3ARemap" >Remap</A > <A HREF="System-Console-CmdArgs-Explicit.html#t%3AArg" >Arg</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="System-Console-CmdArgs-Explicit.html#t%3ARemap" >Remap</A > <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlag" >Flag</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="System-Console-CmdArgs-Explicit.html#t%3ARemap" >Remap</A > <A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:remap2" ><A NAME="v%3Aremap2" ></A ></A ><B >remap2</B > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3ARemap" >Remap</A > m => (a -> b) -> (b -> a) -> m a -> m b</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#remap2" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:modeEmpty" ><A NAME="v%3AmodeEmpty" ></A ></A ><B >modeEmpty</B > :: a -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#modeEmpty" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Create an empty mode specifying only <TT ><A HREF="System-Console-CmdArgs-Explicit.html#v%3AmodeValue" >modeValue</A ></TT >. All other fields will usually be populated using record updates. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:mode" ><A NAME="v%3Amode" ></A ></A ><B >mode</B > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AName" >Name</A > -> a -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelp" >Help</A > -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AArg" >Arg</A > a -> [<A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlag" >Flag</A > a] -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#mode" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Create a mode with a name, an initial value, some help text, a way of processing arguments and a list of flags. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:modes" ><A NAME="v%3Amodes" ></A ></A ><B >modes</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> a -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelp" >Help</A > -> [<A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a] -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#modes" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Create a list of modes, with a program name, an initial value, some help text and the child modes. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:flagNone" ><A NAME="v%3AflagNone" ></A ></A ><B >flagNone</B > :: [<A HREF="System-Console-CmdArgs-Explicit.html#t%3AName" >Name</A >] -> (a -> a) -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelp" >Help</A > -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlag" >Flag</A > a</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#flagNone" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Create a flag taking no argument value, with a list of flag names, an update function and some help text. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:flagOpt" ><A NAME="v%3AflagOpt" ></A ></A ><B >flagOpt</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> [<A HREF="System-Console-CmdArgs-Explicit.html#t%3AName" >Name</A >] -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AUpdate" >Update</A > a -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlagHelp" >FlagHelp</A > -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelp" >Help</A > -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlag" >Flag</A > a</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#flagOpt" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Create a flag taking an optional argument value, with an optional value, a list of flag names, an update function, the type of the argument and some help text. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:flagReq" ><A NAME="v%3AflagReq" ></A ></A ><B >flagReq</B > :: [<A HREF="System-Console-CmdArgs-Explicit.html#t%3AName" >Name</A >] -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AUpdate" >Update</A > a -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlagHelp" >FlagHelp</A > -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelp" >Help</A > -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlag" >Flag</A > a</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#flagReq" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Create a flag taking a required argument value, with a list of flag names, an update function, the type of the argument and some help text. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:flagArg" ><A NAME="v%3AflagArg" ></A ></A ><B >flagArg</B > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AUpdate" >Update</A > a -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlagHelp" >FlagHelp</A > -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AArg" >Arg</A > a</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#flagArg" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Create an argument flag, with an update function and the type of the argument. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:flagBool" ><A NAME="v%3AflagBool" ></A ></A ><B >flagBool</B > :: [<A HREF="System-Console-CmdArgs-Explicit.html#t%3AName" >Name</A >] -> (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> a -> a) -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelp" >Help</A > -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlag" >Flag</A > a</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Type.html#flagBool" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Create a boolean flag, with a list of flag names, an update function and some help text. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:flagHelpSimple" ><A NAME="v%3AflagHelpSimple" ></A ></A ><B >flagHelpSimple</B > :: (a -> a) -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlag" >Flag</A > a</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit.html#flagHelpSimple" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Create a help flag triggered by <TT >-?</TT >/<TT >--help</TT >. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:flagHelpFormat" ><A NAME="v%3AflagHelpFormat" ></A ></A ><B >flagHelpFormat</B > :: (<A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelpFormat" >HelpFormat</A > -> <A HREF="System-Console-CmdArgs-Text.html#t%3ATextFormat" >TextFormat</A > -> a -> a) -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlag" >Flag</A > a</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit.html#flagHelpFormat" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" ><P >Create a help flag triggered by <TT >-?</TT >/<TT >--help</TT >. The user may optionally modify help by specifying the format, such as: </P ><PRE > --help=all - help for all modes --help=html - help in HTML format --help=100 - wrap the text at 100 characters --help=100,one - full text wrapped at 100 characters </PRE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:flagVersion" ><A NAME="v%3AflagVersion" ></A ></A ><B >flagVersion</B > :: (a -> a) -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlag" >Flag</A > a</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit.html#flagVersion" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Create a version flag triggered by <TT >-V</TT >/<TT >--version</TT >. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:flagsVerbosity" ><A NAME="v%3AflagsVerbosity" ></A ></A ><B >flagsVerbosity</B > :: (<A HREF="System-Console-CmdArgs-Verbosity.html#t%3AVerbosity" >Verbosity</A > -> a -> a) -> [<A HREF="System-Console-CmdArgs-Explicit.html#t%3AFlag" >Flag</A > a]</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit.html#flagsVerbosity" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Create verbosity flags triggered by <TT >-v</TT >/<TT >--verbose</TT > and <TT >-q</TT >/<TT >--quiet</TT > </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="3" ><A NAME="3" >Displaying help </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:HelpFormat" ><A NAME="t%3AHelpFormat" ></A ></A ><B >HelpFormat</B > </TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Help.html#HelpFormat" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >Specify the format to output the help. </TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:HelpFormatDefault" ><A NAME="v%3AHelpFormatDefault" ></A ></A ><B >HelpFormatDefault</B ></TD ><TD CLASS="rdoc" >Equivalent to <TT ><A HREF="System-Console-CmdArgs-Explicit.html#v%3AHelpFormatAll" >HelpFormatAll</A ></TT > if there is not too much text, otherwise <TT ><A HREF="System-Console-CmdArgs-Explicit.html#v%3AHelpFormatOne" >HelpFormatOne</A ></TT >. </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:HelpFormatOne" ><A NAME="v%3AHelpFormatOne" ></A ></A ><B >HelpFormatOne</B ></TD ><TD CLASS="rdoc" >Display only the first mode. </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:HelpFormatAll" ><A NAME="v%3AHelpFormatAll" ></A ></A ><B >HelpFormatAll</B ></TD ><TD CLASS="rdoc" >Display all modes. </TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:HelpFormat')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:HelpFormat" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3ABounded" >Bounded</A > <A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelpFormat" >HelpFormat</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3AEnum" >Enum</A > <A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelpFormat" >HelpFormat</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelpFormat" >HelpFormat</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd" >Ord</A > <A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelpFormat" >HelpFormat</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Read.html#t%3ARead" >Read</A > <A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelpFormat" >HelpFormat</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > <A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelpFormat" >HelpFormat</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="System-Console-CmdArgs-Default.html#t%3ADefault" >Default</A > <A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelpFormat" >HelpFormat</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:helpText" ><A NAME="v%3AhelpText" ></A ></A ><B >helpText</B > :: <A HREF="System-Console-CmdArgs-Explicit.html#t%3AHelpFormat" >HelpFormat</A > -> <A HREF="System-Console-CmdArgs-Explicit.html#t%3AMode" >Mode</A > a -> [<A HREF="System-Console-CmdArgs-Text.html#t%3AText" >Text</A >]</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Explicit-Help.html#helpText" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Generate a help message from a mode. </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.6.1</TD ></TR ></TABLE ></BODY ></HTML >