Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 70ec89744a04da80369b4702b2c37256 > files > 941

ghc-doc-6.10.4-1mdv2010.0.i586.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
>Var</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_Var.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"
>ghc-6.10.4: The GHC API</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"
>Var</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"
>The main data type
</A
></DT
><DD
><DL
><DT
><A HREF="#2"
>Constructing <TT
><A HREF="Var.html#t%3AVar"
>Var</A
></TT
>s
</A
></DT
><DT
><A HREF="#3"
>Taking <TT
><A HREF="Var.html#t%3AVar"
>Var</A
></TT
>s apart
</A
></DT
><DT
><A HREF="#4"
>Modifying <TT
><A HREF="Var.html#t%3AVar"
>Var</A
></TT
>s
</A
></DT
><DT
><A HREF="#5"
>Predicates
</A
></DT
></DL
></DD
><DT
><A HREF="#6"
>Type variable data type
</A
></DT
><DD
><DL
><DT
><A HREF="#7"
>Constructing <TT
><A HREF="Var.html#t%3ATyVar"
>TyVar</A
></TT
>s
</A
></DT
><DT
><A HREF="#8"
>Taking <TT
><A HREF="Var.html#t%3ATyVar"
>TyVar</A
></TT
>s apart
</A
></DT
><DT
><A HREF="#9"
>Modifying <TT
><A HREF="Var.html#t%3ATyVar"
>TyVar</A
></TT
>s
</A
></DT
></DL
></DD
><DT
><A HREF="#10"
>Coercion variable data type
</A
></DT
><DD
><DL
><DT
><A HREF="#11"
>Constructing <TT
><A HREF="Var.html#t%3ACoVar"
>CoVar</A
></TT
>s
</A
></DT
><DT
><A HREF="#12"
>Taking <TT
><A HREF="Var.html#t%3ACoVar"
>CoVar</A
></TT
>s apart
</A
></DT
><DT
><A HREF="#13"
>Modifying <TT
><A HREF="Var.html#t%3ACoVar"
>CoVar</A
></TT
>s
</A
></DT
></DL
></DD
><DT
><A HREF="#14"
><TT
><A HREF="Var.html#t%3AVar"
>Var</A
></TT
> type synonyms
</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
><A NAME="name_types"
><A NAME="name_types"
></A
></A
>
 GHC uses several kinds of name internally:
</P
><UL
><LI
> OccName.OccName: see <A HREF="OccName.html#name_types"
>OccName</A
>
</LI
><LI
> RdrName.RdrName: see <A HREF="RdrName.html#name_types"
>RdrName</A
>
</LI
><LI
> <TT
><A HREF="Name.html#t%3AName"
>Name</A
></TT
>: see <A HREF="Name.html#name_types"
>Name</A
>
</LI
><LI
> Id.Id: see <A HREF="Id.html#name_types"
>Id</A
>
</LI
><LI
> <TT
><A HREF="Var.html#t%3AVar"
>Var</A
></TT
> is a synonym for the Id.Id type but it may additionally potentially contain type variables, 
   which have a <TT
><A HREF="Type.html#t%3AKind"
>Kind</A
></TT
> rather than a <TT
><A HREF="Type.html#t%3AType"
>Type</A
></TT
> and only contain some extra details during typechecking.
   These <TT
><A HREF="Var.html#t%3AVar"
>Var</A
></TT
> names may either be global or local, see <A HREF="Var.html#globalvslocal"
>Var</A
>
</LI
></UL
><P
><A NAME="globalvslocal"
><A NAME="globalvslocal"
></A
></A
>
 Global <TT
><A HREF="Var.html#t%3AId"
>Id</A
></TT
>s and <TT
><A HREF="Var.html#t%3AVar"
>Var</A
></TT
>s are those that are imported or correspond to a data constructor, primitive operation, or record selectors.
 Local <TT
><A HREF="Var.html#t%3AId"
>Id</A
></TT
>s and <TT
><A HREF="Var.html#t%3AVar"
>Var</A
></TT
>s are those bound within an expression (e.g. by a lambda) or at the top level of the module being compiled.
</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"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AVar"
>Var</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkLocalIdVar"
>mkLocalIdVar</A
> :: <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="Type.html#t%3AType"
>Type</A
> -&gt; <A HREF="IdInfo.html#t%3AIdInfo"
>IdInfo</A
> -&gt; <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkExportedLocalIdVar"
>mkExportedLocalIdVar</A
> :: <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="Type.html#t%3AType"
>Type</A
> -&gt; <A HREF="IdInfo.html#t%3AIdInfo"
>IdInfo</A
> -&gt; <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkGlobalIdVar"
>mkGlobalIdVar</A
> :: <A HREF="IdInfo.html#t%3AGlobalIdDetails"
>GlobalIdDetails</A
> -&gt; <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="Type.html#t%3AType"
>Type</A
> -&gt; <A HREF="IdInfo.html#t%3AIdInfo"
>IdInfo</A
> -&gt; <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvarName"
>varName</A
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="Name.html#t%3AName"
>Name</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvarUnique"
>varUnique</A
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="Unique.html#t%3AUnique"
>Unique</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvarType"
>varType</A
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="Type.html#t%3AKind"
>Kind</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvarIdInfo"
>varIdInfo</A
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="IdInfo.html#t%3AIdInfo"
>IdInfo</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AglobalIdVarDetails"
>globalIdVarDetails</A
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="IdInfo.html#t%3AGlobalIdDetails"
>GlobalIdDetails</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetVarName"
>setVarName</A
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetVarUnique"
>setVarUnique</A
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="Unique.html#t%3AUnique"
>Unique</A
> -&gt; <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetVarType"
>setVarType</A
> :: <A HREF="Var.html#t%3AId"
>Id</A
> -&gt; <A HREF="Type.html#t%3AType"
>Type</A
> -&gt; <A HREF="Var.html#t%3AId"
>Id</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetIdVarExported"
>setIdVarExported</A
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetIdVarNotExported"
>setIdVarNotExported</A
> :: <A HREF="Var.html#t%3AId"
>Id</A
> -&gt; <A HREF="Var.html#t%3AId"
>Id</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AglobaliseIdVar"
>globaliseIdVar</A
> :: <A HREF="IdInfo.html#t%3AGlobalIdDetails"
>GlobalIdDetails</A
> -&gt; <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AlazySetVarIdInfo"
>lazySetVarIdInfo</A
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="IdInfo.html#t%3AIdInfo"
>IdInfo</A
> -&gt; <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisCoVar"
>isCoVar</A
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisIdVar"
>isIdVar</A
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisTyVar"
>isTyVar</A
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisTcTyVar"
>isTcTyVar</A
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisLocalVar"
>isLocalVar</A
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisLocalIdVar"
>isLocalIdVar</A
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisGlobalIdVar"
>isGlobalIdVar</A
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisExportedIdVar"
>isExportedIdVar</A
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmustHaveLocalBinding"
>mustHaveLocalBinding</A
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ATyVar"
>TyVar</A
> = <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkTyVar"
>mkTyVar</A
> :: <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="Type.html#t%3AKind"
>Kind</A
> -&gt; <A HREF="Var.html#t%3ATyVar"
>TyVar</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkTcTyVar"
>mkTcTyVar</A
> :: <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="Type.html#t%3AKind"
>Kind</A
> -&gt; <A HREF="TcType.html#t%3ATcTyVarDetails"
>TcTyVarDetails</A
> -&gt; <A HREF="Var.html#t%3ATyVar"
>TyVar</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkWildCoVar"
>mkWildCoVar</A
> :: <A HREF="Type.html#t%3AKind"
>Kind</A
> -&gt; <A HREF="Var.html#t%3ATyVar"
>TyVar</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtyVarName"
>tyVarName</A
> :: <A HREF="Var.html#t%3ATyVar"
>TyVar</A
> -&gt; <A HREF="Name.html#t%3AName"
>Name</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtyVarKind"
>tyVarKind</A
> :: <A HREF="Var.html#t%3ATyVar"
>TyVar</A
> -&gt; <A HREF="Type.html#t%3AKind"
>Kind</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtcTyVarDetails"
>tcTyVarDetails</A
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="TcType.html#t%3ATcTyVarDetails"
>TcTyVarDetails</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetTyVarName"
>setTyVarName</A
> :: <A HREF="Var.html#t%3ATyVar"
>TyVar</A
> -&gt; <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="Var.html#t%3ATyVar"
>TyVar</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetTyVarUnique"
>setTyVarUnique</A
> :: <A HREF="Var.html#t%3ATyVar"
>TyVar</A
> -&gt; <A HREF="Unique.html#t%3AUnique"
>Unique</A
> -&gt; <A HREF="Var.html#t%3ATyVar"
>TyVar</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetTyVarKind"
>setTyVarKind</A
> :: <A HREF="Var.html#t%3ATyVar"
>TyVar</A
> -&gt; <A HREF="Type.html#t%3AKind"
>Kind</A
> -&gt; <A HREF="Var.html#t%3ATyVar"
>TyVar</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ACoVar"
>CoVar</A
> = <A HREF="Var.html#t%3ATyVar"
>TyVar</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkCoVar"
>mkCoVar</A
> :: <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="Type.html#t%3AKind"
>Kind</A
> -&gt; <A HREF="Var.html#t%3ACoVar"
>CoVar</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcoVarName"
>coVarName</A
> :: <A HREF="Var.html#t%3ACoVar"
>CoVar</A
> -&gt; <A HREF="Name.html#t%3AName"
>Name</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetCoVarUnique"
>setCoVarUnique</A
> :: <A HREF="Var.html#t%3ACoVar"
>CoVar</A
> -&gt; <A HREF="Unique.html#t%3AUnique"
>Unique</A
> -&gt; <A HREF="Var.html#t%3ACoVar"
>CoVar</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetCoVarName"
>setCoVarName</A
> :: <A HREF="Var.html#t%3ACoVar"
>CoVar</A
> -&gt; <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="Var.html#t%3ACoVar"
>CoVar</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AId"
>Id</A
> = <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ADictId"
>DictId</A
> = <A HREF="Var.html#t%3AVar"
>Var</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"
>The main data type
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Var"
><A NAME="t%3AVar"
></A
></A
><B
>Var</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Essentially a typed <TT
><A HREF="Name.html#t%3AName"
>Name</A
></TT
>, that may also contain some additional information
 about the <TT
><A HREF="Var.html#t%3AVar"
>Var</A
></TT
> and it's use sites.
</TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Var')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Var" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputableBndr"
>OutputableBndr</A
> <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Unique.html#t%3AUniquable"
>Uniquable</A
> <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Name.html#t%3ANamedThing"
>NamedThing</A
> <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="2"
><A NAME="2"
>Constructing <TT
><A HREF="Var.html#t%3AVar"
>Var</A
></TT
>s
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkLocalIdVar"
><A NAME="v%3AmkLocalIdVar"
></A
></A
><B
>mkLocalIdVar</B
> :: <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="Type.html#t%3AType"
>Type</A
> -&gt; <A HREF="IdInfo.html#t%3AIdInfo"
>IdInfo</A
> -&gt; <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="doc"
>For an explanation of global vs. local <TT
><A HREF="Var.html#t%3AVar"
>Var</A
></TT
>s, see <A HREF="Var.html#globalvslocal"
>Var</A
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkExportedLocalIdVar"
><A NAME="v%3AmkExportedLocalIdVar"
></A
></A
><B
>mkExportedLocalIdVar</B
> :: <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="Type.html#t%3AType"
>Type</A
> -&gt; <A HREF="IdInfo.html#t%3AIdInfo"
>IdInfo</A
> -&gt; <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="doc"
>Exported <TT
><A HREF="Var.html#t%3AVar"
>Var</A
></TT
>s will not be removed as dead code
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkGlobalIdVar"
><A NAME="v%3AmkGlobalIdVar"
></A
></A
><B
>mkGlobalIdVar</B
> :: <A HREF="IdInfo.html#t%3AGlobalIdDetails"
>GlobalIdDetails</A
> -&gt; <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="Type.html#t%3AType"
>Type</A
> -&gt; <A HREF="IdInfo.html#t%3AIdInfo"
>IdInfo</A
> -&gt; <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="doc"
>For an explanation of global vs. local <TT
><A HREF="Var.html#t%3AVar"
>Var</A
></TT
>s, see <A HREF="Var.html#globalvslocal"
>Var</A
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="3"
><A NAME="3"
>Taking <TT
><A HREF="Var.html#t%3AVar"
>Var</A
></TT
>s apart
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:varName"
><A NAME="v%3AvarName"
></A
></A
><B
>varName</B
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="Name.html#t%3AName"
>Name</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:varUnique"
><A NAME="v%3AvarUnique"
></A
></A
><B
>varUnique</B
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="Unique.html#t%3AUnique"
>Unique</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:varType"
><A NAME="v%3AvarType"
></A
></A
><B
>varType</B
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="Type.html#t%3AKind"
>Kind</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:varIdInfo"
><A NAME="v%3AvarIdInfo"
></A
></A
><B
>varIdInfo</B
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="IdInfo.html#t%3AIdInfo"
>IdInfo</A
></TD
></TR
><TR
><TD CLASS="doc"
>Extract <TT
><A HREF="Var.html#t%3AId"
>Id</A
></TT
> information from the <TT
><A HREF="Var.html#t%3AVar"
>Var</A
></TT
> if it represents a global or local <TT
><A HREF="Var.html#t%3AId"
>Id</A
></TT
>, otherwise panic
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:globalIdVarDetails"
><A NAME="v%3AglobalIdVarDetails"
></A
></A
><B
>globalIdVarDetails</B
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="IdInfo.html#t%3AGlobalIdDetails"
>GlobalIdDetails</A
></TD
></TR
><TR
><TD CLASS="doc"
>Find the global <TT
><A HREF="Var.html#t%3AId"
>Id</A
></TT
> information if the <TT
><A HREF="Var.html#t%3AVar"
>Var</A
></TT
> is a global <TT
><A HREF="Var.html#t%3AId"
>Id</A
></TT
>, otherwise returns <TT
><A HREF="IdInfo.html#v%3AnotGlobalId"
>notGlobalId</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="4"
><A NAME="4"
>Modifying <TT
><A HREF="Var.html#t%3AVar"
>Var</A
></TT
>s
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:setVarName"
><A NAME="v%3AsetVarName"
></A
></A
><B
>setVarName</B
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:setVarUnique"
><A NAME="v%3AsetVarUnique"
></A
></A
><B
>setVarUnique</B
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="Unique.html#t%3AUnique"
>Unique</A
> -&gt; <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:setVarType"
><A NAME="v%3AsetVarType"
></A
></A
><B
>setVarType</B
> :: <A HREF="Var.html#t%3AId"
>Id</A
> -&gt; <A HREF="Type.html#t%3AType"
>Type</A
> -&gt; <A HREF="Var.html#t%3AId"
>Id</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:setIdVarExported"
><A NAME="v%3AsetIdVarExported"
></A
></A
><B
>setIdVarExported</B
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="doc"
>Exports the given local <TT
><A HREF="Var.html#t%3AId"
>Id</A
></TT
>. Can also be called on global <TT
><A HREF="Var.html#t%3AId"
>Id</A
></TT
>s, such as data constructors
 and class operations, which are born as global <TT
><A HREF="Var.html#t%3AId"
>Id</A
></TT
>s and automatically exported
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:setIdVarNotExported"
><A NAME="v%3AsetIdVarNotExported"
></A
></A
><B
>setIdVarNotExported</B
> :: <A HREF="Var.html#t%3AId"
>Id</A
> -&gt; <A HREF="Var.html#t%3AId"
>Id</A
></TD
></TR
><TR
><TD CLASS="doc"
>We can only do this to LocalIds
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:globaliseIdVar"
><A NAME="v%3AglobaliseIdVar"
></A
></A
><B
>globaliseIdVar</B
> :: <A HREF="IdInfo.html#t%3AGlobalIdDetails"
>GlobalIdDetails</A
> -&gt; <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="doc"
>If it's a local, make it global
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:lazySetVarIdInfo"
><A NAME="v%3AlazySetVarIdInfo"
></A
></A
><B
>lazySetVarIdInfo</B
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="IdInfo.html#t%3AIdInfo"
>IdInfo</A
> -&gt; <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="5"
><A NAME="5"
>Predicates
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isCoVar"
><A NAME="v%3AisCoVar"
></A
></A
><B
>isCoVar</B
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isIdVar"
><A NAME="v%3AisIdVar"
></A
></A
><B
>isIdVar</B
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isTyVar"
><A NAME="v%3AisTyVar"
></A
></A
><B
>isTyVar</B
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isTcTyVar"
><A NAME="v%3AisTcTyVar"
></A
></A
><B
>isTcTyVar</B
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isLocalVar"
><A NAME="v%3AisLocalVar"
></A
></A
><B
>isLocalVar</B
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
><TT
><A HREF="Var.html#v%3AisLocalVar"
>isLocalVar</A
></TT
> returns <TT
>True</TT
> for type variables as well as local <TT
><A HREF="Var.html#t%3AId"
>Id</A
></TT
>s
 These are the variables that we need to pay attention to when finding free
 variables, or doing dependency analysis.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isLocalIdVar"
><A NAME="v%3AisLocalIdVar"
></A
></A
><B
>isLocalIdVar</B
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isGlobalIdVar"
><A NAME="v%3AisGlobalIdVar"
></A
></A
><B
>isGlobalIdVar</B
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isExportedIdVar"
><A NAME="v%3AisExportedIdVar"
></A
></A
><B
>isExportedIdVar</B
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
><TT
><A HREF="Var.html#v%3AisExportedIdVar"
>isExportedIdVar</A
></TT
> means &quot;don't throw this away&quot;
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mustHaveLocalBinding"
><A NAME="v%3AmustHaveLocalBinding"
></A
></A
><B
>mustHaveLocalBinding</B
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
><TT
><A HREF="Var.html#v%3AmustHaveLocalBinding"
>mustHaveLocalBinding</A
></TT
> returns <TT
>True</TT
> of <TT
><A HREF="Var.html#t%3AId"
>Id</A
></TT
>s and <TT
><A HREF="Var.html#t%3ATyVar"
>TyVar</A
></TT
>s
 that must have a binding in this module.  The converse
 is not quite right: there are some global <TT
><A HREF="Var.html#t%3AId"
>Id</A
></TT
>s that must have
 bindings, such as record selectors.  But that doesn't matter,
 because it's only used for assertions
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="6"
><A NAME="6"
>Type variable data type
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:TyVar"
><A NAME="t%3ATyVar"
></A
></A
><B
>TyVar</B
> = <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="7"
><A NAME="7"
>Constructing <TT
><A HREF="Var.html#t%3ATyVar"
>TyVar</A
></TT
>s
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkTyVar"
><A NAME="v%3AmkTyVar"
></A
></A
><B
>mkTyVar</B
> :: <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="Type.html#t%3AKind"
>Kind</A
> -&gt; <A HREF="Var.html#t%3ATyVar"
>TyVar</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkTcTyVar"
><A NAME="v%3AmkTcTyVar"
></A
></A
><B
>mkTcTyVar</B
> :: <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="Type.html#t%3AKind"
>Kind</A
> -&gt; <A HREF="TcType.html#t%3ATcTyVarDetails"
>TcTyVarDetails</A
> -&gt; <A HREF="Var.html#t%3ATyVar"
>TyVar</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkWildCoVar"
><A NAME="v%3AmkWildCoVar"
></A
></A
><B
>mkWildCoVar</B
> :: <A HREF="Type.html#t%3AKind"
>Kind</A
> -&gt; <A HREF="Var.html#t%3ATyVar"
>TyVar</A
></TD
></TR
><TR
><TD CLASS="doc"
>Create a type variable that is never referred to, so its unique doesn't 
 matter
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="8"
><A NAME="8"
>Taking <TT
><A HREF="Var.html#t%3ATyVar"
>TyVar</A
></TT
>s apart
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tyVarName"
><A NAME="v%3AtyVarName"
></A
></A
><B
>tyVarName</B
> :: <A HREF="Var.html#t%3ATyVar"
>TyVar</A
> -&gt; <A HREF="Name.html#t%3AName"
>Name</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tyVarKind"
><A NAME="v%3AtyVarKind"
></A
></A
><B
>tyVarKind</B
> :: <A HREF="Var.html#t%3ATyVar"
>TyVar</A
> -&gt; <A HREF="Type.html#t%3AKind"
>Kind</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tcTyVarDetails"
><A NAME="v%3AtcTyVarDetails"
></A
></A
><B
>tcTyVarDetails</B
> :: <A HREF="Var.html#t%3AVar"
>Var</A
> -&gt; <A HREF="TcType.html#t%3ATcTyVarDetails"
>TcTyVarDetails</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="9"
><A NAME="9"
>Modifying <TT
><A HREF="Var.html#t%3ATyVar"
>TyVar</A
></TT
>s
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:setTyVarName"
><A NAME="v%3AsetTyVarName"
></A
></A
><B
>setTyVarName</B
> :: <A HREF="Var.html#t%3ATyVar"
>TyVar</A
> -&gt; <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="Var.html#t%3ATyVar"
>TyVar</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:setTyVarUnique"
><A NAME="v%3AsetTyVarUnique"
></A
></A
><B
>setTyVarUnique</B
> :: <A HREF="Var.html#t%3ATyVar"
>TyVar</A
> -&gt; <A HREF="Unique.html#t%3AUnique"
>Unique</A
> -&gt; <A HREF="Var.html#t%3ATyVar"
>TyVar</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:setTyVarKind"
><A NAME="v%3AsetTyVarKind"
></A
></A
><B
>setTyVarKind</B
> :: <A HREF="Var.html#t%3ATyVar"
>TyVar</A
> -&gt; <A HREF="Type.html#t%3AKind"
>Kind</A
> -&gt; <A HREF="Var.html#t%3ATyVar"
>TyVar</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="10"
><A NAME="10"
>Coercion variable data type
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:CoVar"
><A NAME="t%3ACoVar"
></A
></A
><B
>CoVar</B
> = <A HREF="Var.html#t%3ATyVar"
>TyVar</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="11"
><A NAME="11"
>Constructing <TT
><A HREF="Var.html#t%3ACoVar"
>CoVar</A
></TT
>s
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkCoVar"
><A NAME="v%3AmkCoVar"
></A
></A
><B
>mkCoVar</B
> :: <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="Type.html#t%3AKind"
>Kind</A
> -&gt; <A HREF="Var.html#t%3ACoVar"
>CoVar</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="12"
><A NAME="12"
>Taking <TT
><A HREF="Var.html#t%3ACoVar"
>CoVar</A
></TT
>s apart
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:coVarName"
><A NAME="v%3AcoVarName"
></A
></A
><B
>coVarName</B
> :: <A HREF="Var.html#t%3ACoVar"
>CoVar</A
> -&gt; <A HREF="Name.html#t%3AName"
>Name</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="13"
><A NAME="13"
>Modifying <TT
><A HREF="Var.html#t%3ACoVar"
>CoVar</A
></TT
>s
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:setCoVarUnique"
><A NAME="v%3AsetCoVarUnique"
></A
></A
><B
>setCoVarUnique</B
> :: <A HREF="Var.html#t%3ACoVar"
>CoVar</A
> -&gt; <A HREF="Unique.html#t%3AUnique"
>Unique</A
> -&gt; <A HREF="Var.html#t%3ACoVar"
>CoVar</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:setCoVarName"
><A NAME="v%3AsetCoVarName"
></A
></A
><B
>setCoVarName</B
> :: <A HREF="Var.html#t%3ACoVar"
>CoVar</A
> -&gt; <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="Var.html#t%3ACoVar"
>CoVar</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="14"
><A NAME="14"
><TT
><A HREF="Var.html#t%3AVar"
>Var</A
></TT
> type synonyms
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:Id"
><A NAME="t%3AId"
></A
></A
><B
>Id</B
> = <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:DictId"
><A NAME="t%3ADictId"
></A
></A
><B
>DictId</B
> = <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 2.4.2</TD
></TR
></TABLE
></BODY
></HTML
>