<!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.Annotate</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-Annotate.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-Annotate.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.Annotate</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" >Capture framework </A ></DT ><DT ><A HREF="#2" >Impure </A ></DT ><DT ><A HREF="#3" >Pure </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 captures annotations on a value, and builds a <TT ><A HREF="System-Console-CmdArgs-Annotate.html#t%3ACapture" >Capture</A ></TT > value. This module has two ways of writing annotations: </P ><P ><EM >Impure</EM >: The impure method of writing annotations is susceptible to over-optimisation by GHC - sometimes <TT >{-# OPTIONS_GHC -fno-cse #-}</TT > will be required. </P ><P ><EM >Pure</EM >: The pure method is more verbose, and lacks some type safety. </P ><P >As an example of the two styles: </P ><PRE > data Foo = Foo {foo :: Int, bar :: Int} </PRE ><PRE > impure = <TT ><A HREF="System-Console-CmdArgs-Annotate.html#v%3Acapture" >capture</A ></TT > $ Foo {foo = 12, bar = <TT ><A HREF="System-Console-CmdArgs-Annotate.html#v%3Amany" >many</A ></TT > [1 <TT ><A HREF="System-Console-CmdArgs-Annotate.html#v%3A%26%3D" >&=</A ></TT > "inner", 2]} <TT ><A HREF="System-Console-CmdArgs-Annotate.html#v%3A%26%3D" >&=</A ></TT > "top"</PRE ><PRE > pure = <TT ><A HREF="System-Console-CmdArgs-Annotate.html#v%3Acapture_" >capture_</A ></TT > $ <TT ><A HREF="System-Console-CmdArgs-Annotate.html#v%3Arecord" >record</A ></TT > Foo{} [foo := 12, bar :=+ [<TT ><A HREF="System-Console-CmdArgs-Annotate.html#v%3Aatom" >atom</A ></TT > 1 <TT ><A HREF="System-Console-CmdArgs-Annotate.html#v%3A%2B%3D" >+=</A ></TT > "inner", <TT ><A HREF="System-Console-CmdArgs-Annotate.html#v%3Aatom" >atom</A ></TT > 2]] <TT ><A HREF="System-Console-CmdArgs-Annotate.html#v%3A%2B%3D" >+=</A ></TT > "top"</PRE ><P >Both evaluate to: </P ><PRE > Capture (Ann "top") (Ctor (Foo 12 1) [Value 12, Many [Ann "inner" (Value 1), Value 2]] </PRE ></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" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3ACapture" >Capture</A > ann </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3AMany" >Many</A > [<A HREF="System-Console-CmdArgs-Annotate.html#t%3ACapture" >Capture</A > ann]</TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AAnn" >Ann</A > ann (<A HREF="System-Console-CmdArgs-Annotate.html#t%3ACapture" >Capture</A > ann)</TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AValue" >Value</A > <A HREF="System-Console-CmdArgs-Annotate.html#t%3AAny" >Any</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMissing" >Missing</A > <A HREF="System-Console-CmdArgs-Annotate.html#t%3AAny" >Any</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ACtor" >Ctor</A > <A HREF="System-Console-CmdArgs-Annotate.html#t%3AAny" >Any</A > [<A HREF="System-Console-CmdArgs-Annotate.html#t%3ACapture" >Capture</A > ann]</TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AAny" >Any</A > = <SPAN CLASS="keyword" >forall</SPAN > a . <A HREF="System-Console-CmdArgs-Implicit.html#t%3AData" >Data</A > a => <A HREF="#v%3AAny" >Any</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfromCapture" >fromCapture</A > :: <A HREF="System-Console-CmdArgs-Annotate.html#t%3ACapture" >Capture</A > ann -> <A HREF="System-Console-CmdArgs-Annotate.html#t%3AAny" >Any</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AdefaultMissing" >defaultMissing</A > :: <A HREF="System-Console-CmdArgs-Annotate.html#t%3ACapture" >Capture</A > ann -> <A HREF="System-Console-CmdArgs-Annotate.html#t%3ACapture" >Capture</A > ann</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Acapture" >capture</A > :: (<A HREF="System-Console-CmdArgs-Implicit.html#t%3AData" >Data</A > val, <A HREF="System-Console-CmdArgs-Implicit.html#t%3AData" >Data</A > ann) => val -> <A HREF="System-Console-CmdArgs-Annotate.html#t%3ACapture" >Capture</A > ann</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amany" >many</A > :: <A HREF="System-Console-CmdArgs-Implicit.html#t%3AData" >Data</A > val => [val] -> val</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3A%26%3D" >(&=)</A > :: (<A HREF="System-Console-CmdArgs-Implicit.html#t%3AData" >Data</A > val, <A HREF="System-Console-CmdArgs-Implicit.html#t%3AData" >Data</A > ann) => val -> ann -> val</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Acapture_" >capture_</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > a => <A HREF="System-Console-CmdArgs-Annotate.html#t%3AAnnotate" >Annotate</A > a -> <A HREF="System-Console-CmdArgs-Annotate.html#t%3ACapture" >Capture</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amany_" >many_</A > :: [<A HREF="System-Console-CmdArgs-Annotate.html#t%3AAnnotate" >Annotate</A > a] -> <A HREF="System-Console-CmdArgs-Annotate.html#t%3AAnnotate" >Annotate</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3A%2B%3D" >(+=)</A > :: <A HREF="System-Console-CmdArgs-Annotate.html#t%3AAnnotate" >Annotate</A > ann -> ann -> <A HREF="System-Console-CmdArgs-Annotate.html#t%3AAnnotate" >Annotate</A > ann</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Aatom" >atom</A > :: <A HREF="System-Console-CmdArgs-Implicit.html#t%3AData" >Data</A > val => val -> <A HREF="System-Console-CmdArgs-Annotate.html#t%3AAnnotate" >Annotate</A > ann</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Arecord" >record</A > :: <A HREF="System-Console-CmdArgs-Implicit.html#t%3AData" >Data</A > a => a -> [<A HREF="System-Console-CmdArgs-Annotate.html#t%3AAnnotate" >Annotate</A > b] -> <A HREF="System-Console-CmdArgs-Annotate.html#t%3AAnnotate" >Annotate</A > b</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%3AAnnotate" >Annotate</A > ann </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <SPAN CLASS="keyword" >forall</SPAN > c f . (<A HREF="System-Console-CmdArgs-Implicit.html#t%3AData" >Data</A > c, <A HREF="System-Console-CmdArgs-Implicit.html#t%3AData" >Data</A > f) => (c -> f) <A HREF="#v%3A%3A%3D" >:=</A > f</TD ></TR ><TR ><TD CLASS="decl" >| <SPAN CLASS="keyword" >forall</SPAN > c f . (<A HREF="System-Console-CmdArgs-Implicit.html#t%3AData" >Data</A > c, <A HREF="System-Console-CmdArgs-Implicit.html#t%3AData" >Data</A > f) => (c -> f) <A HREF="#v%3A%3A%3D%2B" >:=+</A > [<A HREF="System-Console-CmdArgs-Annotate.html#t%3AAnnotate" >Annotate</A > ann]</TD ></TR ></TABLE ></TD ></TR ></TABLE ></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" >Capture framework </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:Capture" ><A NAME="t%3ACapture" ></A ></A ><B >Capture</B > ann </TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Annotate.html#Capture" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >The result of capturing some annotations. </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:Many" ><A NAME="v%3AMany" ></A ></A ><B >Many</B > [<A HREF="System-Console-CmdArgs-Annotate.html#t%3ACapture" >Capture</A > ann]</TD ><TD CLASS="rdoc" >Many values collapsed (<TT ><A HREF="System-Console-CmdArgs-Annotate.html#v%3Amany" >many</A ></TT > or <TT ><A HREF="System-Console-CmdArgs-Annotate.html#v%3Amany_" >many_</A ></TT >) </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:Ann" ><A NAME="v%3AAnn" ></A ></A ><B >Ann</B > ann (<A HREF="System-Console-CmdArgs-Annotate.html#t%3ACapture" >Capture</A > ann)</TD ><TD CLASS="rdoc" >An annotation attached to a value (<TT ><A HREF="System-Console-CmdArgs-Annotate.html#v%3A%26%3D" >&=</A ></TT > or <TT ><A HREF="System-Console-CmdArgs-Annotate.html#v%3A%2B%3D" >+=</A ></TT >) </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:Value" ><A NAME="v%3AValue" ></A ></A ><B >Value</B > <A HREF="System-Console-CmdArgs-Annotate.html#t%3AAny" >Any</A ></TD ><TD CLASS="rdoc" >A value (just a value, or <TT ><A HREF="System-Console-CmdArgs-Annotate.html#v%3Aatom" >atom</A ></TT >) </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:Missing" ><A NAME="v%3AMissing" ></A ></A ><B >Missing</B > <A HREF="System-Console-CmdArgs-Annotate.html#t%3AAny" >Any</A ></TD ><TD CLASS="rdoc" >A missing field (a <TT ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Exception-Base.html#t%3ARecConError" >RecConError</A ></TT > exception, or missing from <TT ><A HREF="System-Console-CmdArgs-Annotate.html#v%3Arecord" >record</A ></TT >) </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:Ctor" ><A NAME="v%3ACtor" ></A ></A ><B >Ctor</B > <A HREF="System-Console-CmdArgs-Annotate.html#t%3AAny" >Any</A > [<A HREF="System-Console-CmdArgs-Annotate.html#t%3ACapture" >Capture</A > ann]</TD ><TD CLASS="rdoc" >A constructor (a constructor, or <TT ><A HREF="System-Console-CmdArgs-Annotate.html#v%3Arecord" >record</A ></TT >) </TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Capture')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:Capture" 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-Annotate.html#t%3ACapture" >Capture</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 > ann => <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-Annotate.html#t%3ACapture" >Capture</A > ann)</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:Any" ><A NAME="t%3AAny" ></A ></A ><B >Any</B > </TD ><TD CLASS="declbut" ><A HREF="src/Data-Generics-Any.html#Any" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >Any value, with a Data dictionary. </TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><SPAN CLASS="keyword" >forall</SPAN > a . <A HREF="System-Console-CmdArgs-Implicit.html#t%3AData" >Data</A > a => <A NAME="v:Any" ><A NAME="v%3AAny" ></A ></A ><B >Any</B > a</TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Any')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:Any" 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/Text-Show.html#t%3AShow" >Show</A > <A HREF="System-Console-CmdArgs-Annotate.html#t%3AAny" >Any</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:fromCapture" ><A NAME="v%3AfromCapture" ></A ></A ><B >fromCapture</B > :: <A HREF="System-Console-CmdArgs-Annotate.html#t%3ACapture" >Capture</A > ann -> <A HREF="System-Console-CmdArgs-Annotate.html#t%3AAny" >Any</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Annotate.html#fromCapture" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Return the value inside a capture. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:defaultMissing" ><A NAME="v%3AdefaultMissing" ></A ></A ><B >defaultMissing</B > :: <A HREF="System-Console-CmdArgs-Annotate.html#t%3ACapture" >Capture</A > ann -> <A HREF="System-Console-CmdArgs-Annotate.html#t%3ACapture" >Capture</A > ann</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Annotate.html#defaultMissing" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Remove all Missing values by using any previous instances as default values </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="2" ><A NAME="2" >Impure </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:capture" ><A NAME="v%3Acapture" ></A ></A ><B >capture</B > :: (<A HREF="System-Console-CmdArgs-Implicit.html#t%3AData" >Data</A > val, <A HREF="System-Console-CmdArgs-Implicit.html#t%3AData" >Data</A > ann) => val -> <A HREF="System-Console-CmdArgs-Annotate.html#t%3ACapture" >Capture</A > ann</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Annotate.html#capture" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" ><P >Capture a value. Note that if the value is evaluated more than once the result may be different, i.e. </P ><PRE > capture x /= capture x </PRE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:many" ><A NAME="v%3Amany" ></A ></A ><B >many</B > :: <A HREF="System-Console-CmdArgs-Implicit.html#t%3AData" >Data</A > val => [val] -> val</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Annotate.html#many" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Collapse multiple values in to one. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:&=" ><A NAME="v%3A%26%3D" ></A ></A ><B >(&=)</B > :: (<A HREF="System-Console-CmdArgs-Implicit.html#t%3AData" >Data</A > val, <A HREF="System-Console-CmdArgs-Implicit.html#t%3AData" >Data</A > ann) => val -> ann -> val</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Annotate.html#%26%3D" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" ><P >Add an annotation to a value. </P ><P >It is recommended that anyone making use of this function redefine it with a more restrictive type signature to control the type of the annotation (the second argument). Any redefinitions of this function should add an INLINE pragma, to reduce the chance of incorrect optimisations. </P ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="3" ><A NAME="3" >Pure </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:capture_" ><A NAME="v%3Acapture_" ></A ></A ><B >capture_</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > a => <A HREF="System-Console-CmdArgs-Annotate.html#t%3AAnnotate" >Annotate</A > a -> <A HREF="System-Console-CmdArgs-Annotate.html#t%3ACapture" >Capture</A > a</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Annotate.html#capture_" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Capture the annotations from an annotated value. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:many_" ><A NAME="v%3Amany_" ></A ></A ><B >many_</B > :: [<A HREF="System-Console-CmdArgs-Annotate.html#t%3AAnnotate" >Annotate</A > a] -> <A HREF="System-Console-CmdArgs-Annotate.html#t%3AAnnotate" >Annotate</A > a</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Annotate.html#many_" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Collapse many annotated values in to one. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:+=" ><A NAME="v%3A%2B%3D" ></A ></A ><B >(+=)</B > :: <A HREF="System-Console-CmdArgs-Annotate.html#t%3AAnnotate" >Annotate</A > ann -> ann -> <A HREF="System-Console-CmdArgs-Annotate.html#t%3AAnnotate" >Annotate</A > ann</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Annotate.html#%2B%3D" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Add an annotation to a value. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:atom" ><A NAME="v%3Aatom" ></A ></A ><B >atom</B > :: <A HREF="System-Console-CmdArgs-Implicit.html#t%3AData" >Data</A > val => val -> <A HREF="System-Console-CmdArgs-Annotate.html#t%3AAnnotate" >Annotate</A > ann</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Annotate.html#atom" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Lift a pure value to an annotation. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:record" ><A NAME="v%3Arecord" ></A ></A ><B >record</B > :: <A HREF="System-Console-CmdArgs-Implicit.html#t%3AData" >Data</A > a => a -> [<A HREF="System-Console-CmdArgs-Annotate.html#t%3AAnnotate" >Annotate</A > b] -> <A HREF="System-Console-CmdArgs-Annotate.html#t%3AAnnotate" >Annotate</A > b</TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Annotate.html#record" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" ><P >Create a constructor/record. The first argument should be the type of field, the second should be a list of fields constructed originally defined by <TT >:=</TT > or <TT >:=+</TT >. </P ><P >This operation is not type safe, and may raise an exception at runtime if any field has the wrong type or label. </P ></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:Annotate" ><A NAME="t%3AAnnotate" ></A ></A ><B >Annotate</B > ann </TD ><TD CLASS="declbut" ><A HREF="src/System-Console-CmdArgs-Annotate.html#Annotate" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >This type represents an annotated value. The type of the underlying value is not specified. </TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><SPAN CLASS="keyword" >forall</SPAN > c f . (<A HREF="System-Console-CmdArgs-Implicit.html#t%3AData" >Data</A > c, <A HREF="System-Console-CmdArgs-Implicit.html#t%3AData" >Data</A > f) => (c -> f) <A NAME="v::=" ><A NAME="v%3A%3A%3D" ></A ></A ><B >:=</B > f</TD ><TD CLASS="rdoc" >Construct a field, <TT >fieldname := value</TT >. </TD ></TR ><TR ><TD CLASS="arg" ><SPAN CLASS="keyword" >forall</SPAN > c f . (<A HREF="System-Console-CmdArgs-Implicit.html#t%3AData" >Data</A > c, <A HREF="System-Console-CmdArgs-Implicit.html#t%3AData" >Data</A > f) => (c -> f) <A NAME="v::=+" ><A NAME="v%3A%3A%3D%2B" ></A ></A ><B >:=+</B > [<A HREF="System-Console-CmdArgs-Annotate.html#t%3AAnnotate" >Annotate</A > ann]</TD ><TD CLASS="rdoc" >Add annotations to a field. </TD ></TR ></TABLE ></TD ></TR ></TABLE ></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 >