Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > d124509af43f859ea9fff074ae079c9c > files > 54

ghc-cmdargs-devel-0.7-2.fc14.x86_64.rpm

<!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"
>&amp;=</A
></TT
> &quot;inner&quot;, 2]} <TT
><A HREF="System-Console-CmdArgs-Annotate.html#v%3A%26%3D"
>&amp;=</A
></TT
> &quot;top&quot;</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
> &quot;inner&quot;, <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
> &quot;top&quot;</PRE
><P
>Both evaluate to:
</P
><PRE
> Capture (Ann &quot;top&quot;) (Ctor (Foo 12 1) [Value 12, Many [Ann &quot;inner&quot; (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 =&gt; <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 -&gt; <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 -&gt; <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) =&gt; val -&gt; <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 =&gt; [val] -&gt; val</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%26%3D"
>(&amp;=)</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) =&gt; val -&gt; ann -&gt; 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 =&gt; <A HREF="System-Console-CmdArgs-Annotate.html#t%3AAnnotate"
>Annotate</A
> a -&gt; <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] -&gt; <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 -&gt; ann -&gt; <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 =&gt; val -&gt; <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 =&gt; a -&gt; [<A HREF="System-Console-CmdArgs-Annotate.html#t%3AAnnotate"
>Annotate</A
> b] -&gt; <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) =&gt; (c -&gt; 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) =&gt; (c -&gt; 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"
>&amp;=</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 =&gt; <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 =&gt; <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 -&gt; <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 -&gt; <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) =&gt; val -&gt; <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 =&gt; [val] -&gt; 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
>(&amp;=)</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) =&gt; val -&gt; ann -&gt; 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 =&gt; <A HREF="System-Console-CmdArgs-Annotate.html#t%3AAnnotate"
>Annotate</A
> a -&gt; <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] -&gt; <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 -&gt; ann -&gt; <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 =&gt; val -&gt; <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 =&gt; a -&gt; [<A HREF="System-Console-CmdArgs-Annotate.html#t%3AAnnotate"
>Annotate</A
> b] -&gt; <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) =&gt; (c -&gt; 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) =&gt; (c -&gt; 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
>