Sophie

Sophie

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

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
>OccName</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_OccName.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"
>OccName</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 <TT
><A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
></TT
> type
</A
></DT
><DD
><DL
><DT
><A HREF="#2"
>Construction
</A
></DT
><DT
><A HREF="#3"
>Pretty Printing
</A
></DT
></DL
></DD
><DT
><A HREF="#4"
>The <TT
><A HREF="OccName.html#t%3AOccName"
>OccName</A
></TT
> type
</A
></DT
><DD
><DL
><DT
><A HREF="#5"
>Construction	
</A
></DT
><DT
><A HREF="#6"
>Derived <TT
><A HREF="OccName.html#t%3AOccName"
>OccName</A
></TT
>s
</A
></DT
><DT
><A HREF="#7"
>Deconstruction
</A
></DT
></DL
></DD
><DT
><A HREF="#8"
>The <TT
><A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
></TT
> type
</A
></DT
><DT
><A HREF="#9"
>The <TT
><A HREF="OccName.html#t%3AOccSet"
>OccSet</A
></TT
> type
</A
></DT
><DT
><A HREF="#10"
>Tidying up
</A
></DT
><DT
><A HREF="#11"
>Lexical characteristics of Haskell names
</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
> <TT
><A HREF="OccName.html#t%3AOccName"
>OccName</A
></TT
> represents names as strings with just a little more information:
   the <A HREF="namespace.html"
>namespace</A
> that the name came from, e.g. the namespace of value, type constructors or
   data constructors
</LI
><LI
> RdrName.RdrName: see <A HREF="RdrName.html#name_types"
>RdrName</A
>
</LI
><LI
> Name.Name: see <A HREF="Name.html#name_types"
>Name</A
>
</LI
><LI
> Id.Id: see <A HREF="Id.html#name_types"
>Id</A
>
</LI
><LI
> Var.Var: see <A HREF="Var.html#name_types"
>Var</A
>
</LI
></UL
></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%3ANameSpace"
>NameSpace</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtcName"
>tcName</A
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AclsName"
>clsName</A
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtcClsName"
>tcClsName</A
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdataName"
>dataName</A
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvarName"
>varName</A
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtvName"
>tvName</A
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsrcDataName"
>srcDataName</A
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApprNameSpace"
>pprNameSpace</A
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApprNonVarNameSpace"
>pprNonVarNameSpace</A
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApprNameSpaceBrief"
>pprNameSpaceBrief</A
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AOccName"
>OccName</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApprOccName"
>pprOccName</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkOccName"
>mkOccName</A
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
> -&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkOccNameFS"
>mkOccNameFS</A
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
> -&gt; <A HREF="FastString.html#t%3AFastString"
>FastString</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkVarOcc"
>mkVarOcc</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkVarOccFS"
>mkVarOccFS</A
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkDataOcc"
>mkDataOcc</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkDataOccFS"
>mkDataOccFS</A
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkTyVarOcc"
>mkTyVarOcc</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkTyVarOccFS"
>mkTyVarOccFS</A
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkTcOcc"
>mkTcOcc</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkTcOccFS"
>mkTcOccFS</A
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkClsOcc"
>mkClsOcc</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkClsOccFS"
>mkClsOccFS</A
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkDFunOcc"
>mkDFunOcc</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkTupleOcc"
>mkTupleOcc</A
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
> -&gt; <A HREF="BasicTypes.html#t%3ABoxity"
>Boxity</A
> -&gt; <A HREF="BasicTypes.html#t%3AArity"
>Arity</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetOccNameSpace"
>setOccNameSpace</A
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisDerivedOccName"
>isDerivedOccName</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</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%3AmkDataConWrapperOcc"
>mkDataConWrapperOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkWorkerOcc"
>mkWorkerOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkDefaultMethodOcc"
>mkDefaultMethodOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkDerivedTyConOcc"
>mkDerivedTyConOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkNewTyCoOcc"
>mkNewTyCoOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkCon2TagOcc"
>mkCon2TagOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkTag2ConOcc"
>mkTag2ConOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkMaxTagOcc"
>mkMaxTagOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkClassTyConOcc"
>mkClassTyConOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkClassDataConOcc"
>mkClassDataConOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkDictOcc"
>mkDictOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkIPOcc"
>mkIPOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkSpecOcc"
>mkSpecOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkForeignExportOcc"
>mkForeignExportOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkGenOcc1"
>mkGenOcc1</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkGenOcc2"
>mkGenOcc2</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkDataTOcc"
>mkDataTOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkDataCOcc"
>mkDataCOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkDataConWorkerOcc"
>mkDataConWorkerOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkSuperDictSelOcc"
>mkSuperDictSelOcc</A
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkLocalOcc"
>mkLocalOcc</A
> :: <A HREF="Unique.html#t%3AUnique"
>Unique</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkMethodOcc"
>mkMethodOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkInstTyTcOcc"
>mkInstTyTcOcc</A
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkInstTyCoOcc"
>mkInstTyCoOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkEqPredCoOcc"
>mkEqPredCoOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkVectOcc"
>mkVectOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkVectTyConOcc"
>mkVectTyConOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkVectDataConOcc"
>mkVectDataConOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkVectIsoOcc"
>mkVectIsoOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkPArrayTyConOcc"
>mkPArrayTyConOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkPArrayDataConOcc"
>mkPArrayDataConOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkPReprTyConOcc"
>mkPReprTyConOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkPADFunOcc"
>mkPADFunOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AoccNameFS"
>occNameFS</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="FastString.html#t%3AFastString"
>FastString</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AoccNameString"
>occNameString</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AoccNameSpace"
>occNameSpace</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisVarOcc"
>isVarOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</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%3AisTvOcc"
>isTvOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</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%3AisTcOcc"
>isTcOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</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%3AisDataOcc"
>isDataOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</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%3AisDataSymOcc"
>isDataSymOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</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%3AisSymOcc"
>isSymOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</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%3AisValOcc"
>isValOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</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%3AparenSymOcc"
>parenSymOcc</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreportIfUnused"
>reportIfUnused</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</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%3AisTcClsNameSpace"
>isTcClsNameSpace</A
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</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%3AisTvNameSpace"
>isTvNameSpace</A
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</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%3AisDataConNameSpace"
>isDataConNameSpace</A
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</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%3AisVarNameSpace"
>isVarNameSpace</A
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</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%3AisValNameSpace"
>isValNameSpace</A
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</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%3AisTupleOcc_maybe"
>isTupleOcc_maybe</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
>, <A HREF="BasicTypes.html#t%3ABoxity"
>Boxity</A
>, <A HREF="BasicTypes.html#t%3AArity"
>Arity</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AOccEnv"
>OccEnv</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AemptyOccEnv"
>emptyOccEnv</A
> ::  <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunitOccEnv"
>unitOccEnv</A
> ::  <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; a -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AextendOccEnv"
>extendOccEnv</A
> ::  <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; a -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmapOccEnv"
>mapOccEnv</A
> ::  (a -&gt; b) -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AlookupOccEnv"
>lookupOccEnv</A
> ::  <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkOccEnv"
>mkOccEnv</A
> ::  [(<A HREF="OccName.html#t%3AOccName"
>OccName</A
>, a)] -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkOccEnv_C"
>mkOccEnv_C</A
> ::  (a -&gt; a -&gt; a) -&gt; [(<A HREF="OccName.html#t%3AOccName"
>OccName</A
>, a)] -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AextendOccEnvList"
>extendOccEnvList</A
> ::  <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a -&gt; [(<A HREF="OccName.html#t%3AOccName"
>OccName</A
>, a)] -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AelemOccEnv"
>elemOccEnv</A
> ::  <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> 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%3AoccEnvElts"
>occEnvElts</A
> ::  <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a -&gt; [a]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfoldOccEnv"
>foldOccEnv</A
> ::  (a -&gt; b -&gt; b) -&gt; b -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a -&gt; b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AplusOccEnv"
>plusOccEnv</A
> ::  <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AplusOccEnv_C"
>plusOccEnv_C</A
> ::  (a -&gt; a -&gt; a) -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AextendOccEnv_C"
>extendOccEnv_C</A
> ::  (a -&gt; a -&gt; a) -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; a -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfilterOccEnv"
>filterOccEnv</A
> ::  (elt -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>) -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> elt -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> elt</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdelListFromOccEnv"
>delListFromOccEnv</A
> ::  <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a -&gt; [<A HREF="OccName.html#t%3AOccName"
>OccName</A
>] -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdelFromOccEnv"
>delFromOccEnv</A
> ::  <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AOccSet"
>OccSet</A
> = <A HREF="UniqSet.html#t%3AUniqSet"
>UniqSet</A
> <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AemptyOccSet"
>emptyOccSet</A
> :: <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunitOccSet"
>unitOccSet</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkOccSet"
>mkOccSet</A
> :: [<A HREF="OccName.html#t%3AOccName"
>OccName</A
>] -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AextendOccSet"
>extendOccSet</A
> :: <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AextendOccSetList"
>extendOccSetList</A
> :: <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
> -&gt; [<A HREF="OccName.html#t%3AOccName"
>OccName</A
>] -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunionOccSets"
>unionOccSets</A
> :: <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
> -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
> -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunionManyOccSets"
>unionManyOccSets</A
> :: [<A HREF="OccName.html#t%3AOccSet"
>OccSet</A
>] -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AminusOccSet"
>minusOccSet</A
> :: <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
> -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
> -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AelemOccSet"
>elemOccSet</A
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</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%3AoccSetElts"
>occSetElts</A
> :: <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
> -&gt; [<A HREF="OccName.html#t%3AOccName"
>OccName</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfoldOccSet"
>foldOccSet</A
> ::  (<A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; b -&gt; b) -&gt; b -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
> -&gt; b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisEmptyOccSet"
>isEmptyOccSet</A
> :: <A HREF="OccName.html#t%3AOccSet"
>OccSet</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%3AintersectOccSet"
>intersectOccSet</A
> :: <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
> -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
> -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AintersectsOccSet"
>intersectsOccSet</A
> :: <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
> -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</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%3ATidyOccEnv"
>TidyOccEnv</A
> = <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AemptyTidyOccEnv"
>emptyTidyOccEnv</A
> :: <A HREF="OccName.html#t%3ATidyOccEnv"
>TidyOccEnv</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtidyOccName"
>tidyOccName</A
> :: <A HREF="OccName.html#t%3ATidyOccEnv"
>TidyOccEnv</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; (<A HREF="OccName.html#t%3ATidyOccEnv"
>TidyOccEnv</A
>, <A HREF="OccName.html#t%3AOccName"
>OccName</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AinitTidyOccEnv"
>initTidyOccEnv</A
> :: [<A HREF="OccName.html#t%3AOccName"
>OccName</A
>] -&gt; <A HREF="OccName.html#t%3ATidyOccEnv"
>TidyOccEnv</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisLexCon"
>isLexCon</A
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</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%3AisLexVar"
>isLexVar</A
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</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%3AisLexId"
>isLexId</A
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</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%3AisLexSym"
>isLexSym</A
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</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%3AisLexConId"
>isLexConId</A
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</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%3AisLexConSym"
>isLexConSym</A
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</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%3AisLexVarId"
>isLexVarId</A
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</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%3AisLexVarSym"
>isLexVarSym</A
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</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%3AstartsVarSym"
>startsVarSym</A
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AChar"
>Char</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%3AstartsVarId"
>startsVarId</A
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AChar"
>Char</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%3AstartsConSym"
>startsConSym</A
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AChar"
>Char</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%3AstartsConId"
>startsConId</A
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AChar"
>Char</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</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 <TT
><A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
></TT
> type
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:NameSpace"
><A NAME="t%3ANameSpace"
></A
></A
><B
>NameSpace</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:NameSpace')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:NameSpace" 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="OccName.html#t%3ANameSpace"
>NameSpace</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Binary.html#t%3ABinary"
>Binary</A
> <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</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"
>Construction
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
><P
>There are two forms of data constructor:
</P
><DL
><DT
>Source data constructors</DT
><DD
> The data constructors mentioned in Haskell source code
</DD
><DT
>Real data constructors</DT
><DD
> The data constructors of the representation type, which may not be the same as the source type
</DD
></DL
><P
>For example:
</P
><PRE
> data T = T !(Int, Int)
</PRE
><P
>The source datacon has type <TT
>(Int, Int) -&gt; T</TT
>
 The real   datacon has type <TT
>Int -&gt; Int -&gt; T</TT
>
</P
><P
>GHC chooses a representation based on the strictness etc.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tcName"
><A NAME="v%3AtcName"
></A
></A
><B
>tcName</B
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:clsName"
><A NAME="v%3AclsName"
></A
></A
><B
>clsName</B
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tcClsName"
><A NAME="v%3AtcClsName"
></A
></A
><B
>tcClsName</B
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:dataName"
><A NAME="v%3AdataName"
></A
></A
><B
>dataName</B
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</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="OccName.html#t%3ANameSpace"
>NameSpace</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tvName"
><A NAME="v%3AtvName"
></A
></A
><B
>tvName</B
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:srcDataName"
><A NAME="v%3AsrcDataName"
></A
></A
><B
>srcDataName</B
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="3"
><A NAME="3"
>Pretty Printing
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:pprNameSpace"
><A NAME="v%3ApprNameSpace"
></A
></A
><B
>pprNameSpace</B
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:pprNonVarNameSpace"
><A NAME="v%3ApprNonVarNameSpace"
></A
></A
><B
>pprNonVarNameSpace</B
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:pprNameSpaceBrief"
><A NAME="v%3ApprNameSpaceBrief"
></A
></A
><B
>pprNameSpaceBrief</B
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="4"
><A NAME="4"
>The <TT
><A HREF="OccName.html#t%3AOccName"
>OccName</A
></TT
> type
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:OccName"
><A NAME="t%3AOccName"
></A
></A
><B
>OccName</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:OccName')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:OccName" 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="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Unique.html#t%3AUniquable"
>Uniquable</A
> <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Binary.html#t%3ABinary"
>Binary</A
> <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:pprOccName"
><A NAME="v%3ApprOccName"
></A
></A
><B
>pprOccName</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="5"
><A NAME="5"
>Construction	
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkOccName"
><A NAME="v%3AmkOccName"
></A
></A
><B
>mkOccName</B
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
> -&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkOccNameFS"
><A NAME="v%3AmkOccNameFS"
></A
></A
><B
>mkOccNameFS</B
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
> -&gt; <A HREF="FastString.html#t%3AFastString"
>FastString</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkVarOcc"
><A NAME="v%3AmkVarOcc"
></A
></A
><B
>mkVarOcc</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkVarOccFS"
><A NAME="v%3AmkVarOccFS"
></A
></A
><B
>mkVarOccFS</B
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkDataOcc"
><A NAME="v%3AmkDataOcc"
></A
></A
><B
>mkDataOcc</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkDataOccFS"
><A NAME="v%3AmkDataOccFS"
></A
></A
><B
>mkDataOccFS</B
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkTyVarOcc"
><A NAME="v%3AmkTyVarOcc"
></A
></A
><B
>mkTyVarOcc</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkTyVarOccFS"
><A NAME="v%3AmkTyVarOccFS"
></A
></A
><B
>mkTyVarOccFS</B
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkTcOcc"
><A NAME="v%3AmkTcOcc"
></A
></A
><B
>mkTcOcc</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkTcOccFS"
><A NAME="v%3AmkTcOccFS"
></A
></A
><B
>mkTcOccFS</B
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkClsOcc"
><A NAME="v%3AmkClsOcc"
></A
></A
><B
>mkClsOcc</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkClsOccFS"
><A NAME="v%3AmkClsOccFS"
></A
></A
><B
>mkClsOccFS</B
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkDFunOcc"
><A NAME="v%3AmkDFunOcc"
></A
></A
><B
>mkDFunOcc</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>Typically the class and type glommed together e.g. <TT
>OrdMaybe</TT
>.
 Only used in debug mode, for extra clarity
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="rdoc"
>Is this a hs-boot instance DFun?
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
><TD CLASS="rdoc"
>Unique index
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
><TD CLASS="rdoc"
>E.g. <TT
>$f3OrdMaybe</TT
>
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkTupleOcc"
><A NAME="v%3AmkTupleOcc"
></A
></A
><B
>mkTupleOcc</B
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
> -&gt; <A HREF="BasicTypes.html#t%3ABoxity"
>Boxity</A
> -&gt; <A HREF="BasicTypes.html#t%3AArity"
>Arity</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:setOccNameSpace"
><A NAME="v%3AsetOccNameSpace"
></A
></A
><B
>setOccNameSpace</B
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="6"
><A NAME="6"
>Derived <TT
><A HREF="OccName.html#t%3AOccName"
>OccName</A
></TT
>s
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isDerivedOccName"
><A NAME="v%3AisDerivedOccName"
></A
></A
><B
>isDerivedOccName</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</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:mkDataConWrapperOcc"
><A NAME="v%3AmkDataConWrapperOcc"
></A
></A
><B
>mkDataConWrapperOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkWorkerOcc"
><A NAME="v%3AmkWorkerOcc"
></A
></A
><B
>mkWorkerOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkDefaultMethodOcc"
><A NAME="v%3AmkDefaultMethodOcc"
></A
></A
><B
>mkDefaultMethodOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkDerivedTyConOcc"
><A NAME="v%3AmkDerivedTyConOcc"
></A
></A
><B
>mkDerivedTyConOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkNewTyCoOcc"
><A NAME="v%3AmkNewTyCoOcc"
></A
></A
><B
>mkNewTyCoOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkCon2TagOcc"
><A NAME="v%3AmkCon2TagOcc"
></A
></A
><B
>mkCon2TagOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkTag2ConOcc"
><A NAME="v%3AmkTag2ConOcc"
></A
></A
><B
>mkTag2ConOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkMaxTagOcc"
><A NAME="v%3AmkMaxTagOcc"
></A
></A
><B
>mkMaxTagOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkClassTyConOcc"
><A NAME="v%3AmkClassTyConOcc"
></A
></A
><B
>mkClassTyConOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkClassDataConOcc"
><A NAME="v%3AmkClassDataConOcc"
></A
></A
><B
>mkClassDataConOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkDictOcc"
><A NAME="v%3AmkDictOcc"
></A
></A
><B
>mkDictOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkIPOcc"
><A NAME="v%3AmkIPOcc"
></A
></A
><B
>mkIPOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkSpecOcc"
><A NAME="v%3AmkSpecOcc"
></A
></A
><B
>mkSpecOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkForeignExportOcc"
><A NAME="v%3AmkForeignExportOcc"
></A
></A
><B
>mkForeignExportOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkGenOcc1"
><A NAME="v%3AmkGenOcc1"
></A
></A
><B
>mkGenOcc1</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkGenOcc2"
><A NAME="v%3AmkGenOcc2"
></A
></A
><B
>mkGenOcc2</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkDataTOcc"
><A NAME="v%3AmkDataTOcc"
></A
></A
><B
>mkDataTOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkDataCOcc"
><A NAME="v%3AmkDataCOcc"
></A
></A
><B
>mkDataCOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkDataConWorkerOcc"
><A NAME="v%3AmkDataConWorkerOcc"
></A
></A
><B
>mkDataConWorkerOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkSuperDictSelOcc"
><A NAME="v%3AmkSuperDictSelOcc"
></A
></A
><B
>mkSuperDictSelOcc</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
><TD CLASS="rdoc"
>Index of superclass, e.g. 3
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
><TD CLASS="rdoc"
>Class, e.g. <TT
>Ord</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
><TD CLASS="rdoc"
>Derived Occname, e.g. <TT
>$p3Ord</TT
>
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkLocalOcc"
><A NAME="v%3AmkLocalOcc"
></A
></A
><B
>mkLocalOcc</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: <A HREF="Unique.html#t%3AUnique"
>Unique</A
></TD
><TD CLASS="rdoc"
>Unique to combine with the <TT
><A HREF="OccName.html#t%3AOccName"
>OccName</A
></TT
>
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
><TD CLASS="rdoc"
>Local name, e.g. <TT
>sat</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
><TD CLASS="rdoc"
>Nice unique version, e.g. <TT
>$L23sat</TT
>
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkMethodOcc"
><A NAME="v%3AmkMethodOcc"
></A
></A
><B
>mkMethodOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkInstTyTcOcc"
><A NAME="v%3AmkInstTyTcOcc"
></A
></A
><B
>mkInstTyTcOcc</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
><TD CLASS="rdoc"
>DFun Index
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
><TD CLASS="rdoc"
>Family name, e.g. <TT
>Map</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
><TD CLASS="rdoc"
>Nice unique version, e.g. <TT
>:R23Map</TT
>
</TD
></TR
><TR
><TD CLASS="ndoc" COLSPAN="2"
>Derive a name for the representation type constructor of a
 <TT
>data</TT
>/<TT
>newtype</TT
> instance.
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkInstTyCoOcc"
><A NAME="v%3AmkInstTyCoOcc"
></A
></A
><B
>mkInstTyCoOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkEqPredCoOcc"
><A NAME="v%3AmkEqPredCoOcc"
></A
></A
><B
>mkEqPredCoOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkVectOcc"
><A NAME="v%3AmkVectOcc"
></A
></A
><B
>mkVectOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkVectTyConOcc"
><A NAME="v%3AmkVectTyConOcc"
></A
></A
><B
>mkVectTyConOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkVectDataConOcc"
><A NAME="v%3AmkVectDataConOcc"
></A
></A
><B
>mkVectDataConOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkVectIsoOcc"
><A NAME="v%3AmkVectIsoOcc"
></A
></A
><B
>mkVectIsoOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkPArrayTyConOcc"
><A NAME="v%3AmkPArrayTyConOcc"
></A
></A
><B
>mkPArrayTyConOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkPArrayDataConOcc"
><A NAME="v%3AmkPArrayDataConOcc"
></A
></A
><B
>mkPArrayDataConOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkPReprTyConOcc"
><A NAME="v%3AmkPReprTyConOcc"
></A
></A
><B
>mkPReprTyConOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkPADFunOcc"
><A NAME="v%3AmkPADFunOcc"
></A
></A
><B
>mkPADFunOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="7"
><A NAME="7"
>Deconstruction
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:occNameFS"
><A NAME="v%3AoccNameFS"
></A
></A
><B
>occNameFS</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="FastString.html#t%3AFastString"
>FastString</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:occNameString"
><A NAME="v%3AoccNameString"
></A
></A
><B
>occNameString</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:occNameSpace"
><A NAME="v%3AoccNameSpace"
></A
></A
><B
>occNameSpace</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isVarOcc"
><A NAME="v%3AisVarOcc"
></A
></A
><B
>isVarOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</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:isTvOcc"
><A NAME="v%3AisTvOcc"
></A
></A
><B
>isTvOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</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:isTcOcc"
><A NAME="v%3AisTcOcc"
></A
></A
><B
>isTcOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</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:isDataOcc"
><A NAME="v%3AisDataOcc"
></A
></A
><B
>isDataOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</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:isDataSymOcc"
><A NAME="v%3AisDataSymOcc"
></A
></A
><B
>isDataSymOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Test if the <TT
><A HREF="OccName.html#t%3AOccName"
>OccName</A
></TT
> is a data constructor that starts with
 a symbol (e.g. <TT
>:</TT
>, or <TT
>[]</TT
>)
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isSymOcc"
><A NAME="v%3AisSymOcc"
></A
></A
><B
>isSymOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Test if the <TT
><A HREF="OccName.html#t%3AOccName"
>OccName</A
></TT
> is that for any operator (whether 
 it is a data constructor or variable or whatever)
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isValOcc"
><A NAME="v%3AisValOcc"
></A
></A
><B
>isValOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
><EM
>Value</EM
> OccNamess are those that are either in 
 the variable or data constructor namespaces
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:parenSymOcc"
><A NAME="v%3AparenSymOcc"
></A
></A
><B
>parenSymOcc</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="doc"
>Wrap parens around an operator
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:reportIfUnused"
><A NAME="v%3AreportIfUnused"
></A
></A
><B
>reportIfUnused</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Haskell 98 encourages compilers to suppress warnings about
 unused names in a pattern if they start with <TT
>_</TT
>: this implements
 that test
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isTcClsNameSpace"
><A NAME="v%3AisTcClsNameSpace"
></A
></A
><B
>isTcClsNameSpace</B
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</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:isTvNameSpace"
><A NAME="v%3AisTvNameSpace"
></A
></A
><B
>isTvNameSpace</B
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</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:isDataConNameSpace"
><A NAME="v%3AisDataConNameSpace"
></A
></A
><B
>isDataConNameSpace</B
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</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:isVarNameSpace"
><A NAME="v%3AisVarNameSpace"
></A
></A
><B
>isVarNameSpace</B
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</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:isValNameSpace"
><A NAME="v%3AisValNameSpace"
></A
></A
><B
>isValNameSpace</B
> :: <A HREF="OccName.html#t%3ANameSpace"
>NameSpace</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:isTupleOcc_maybe"
><A NAME="v%3AisTupleOcc_maybe"
></A
></A
><B
>isTupleOcc_maybe</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="OccName.html#t%3ANameSpace"
>NameSpace</A
>, <A HREF="BasicTypes.html#t%3ABoxity"
>Boxity</A
>, <A HREF="BasicTypes.html#t%3AArity"
>Arity</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="8"
><A NAME="8"
>The <TT
><A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
></TT
> type
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:OccEnv"
><A NAME="t%3AOccEnv"
></A
></A
><B
>OccEnv</B
> a </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:OccEnv')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:OccEnv" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> a =&gt; <A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> (<A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:emptyOccEnv"
><A NAME="v%3AemptyOccEnv"
></A
></A
><B
>emptyOccEnv</B
> ::  <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unitOccEnv"
><A NAME="v%3AunitOccEnv"
></A
></A
><B
>unitOccEnv</B
> ::  <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; a -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:extendOccEnv"
><A NAME="v%3AextendOccEnv"
></A
></A
><B
>extendOccEnv</B
> ::  <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; a -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mapOccEnv"
><A NAME="v%3AmapOccEnv"
></A
></A
><B
>mapOccEnv</B
> ::  (a -&gt; b) -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> b</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:lookupOccEnv"
><A NAME="v%3AlookupOccEnv"
></A
></A
><B
>lookupOccEnv</B
> ::  <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkOccEnv"
><A NAME="v%3AmkOccEnv"
></A
></A
><B
>mkOccEnv</B
> ::  [(<A HREF="OccName.html#t%3AOccName"
>OccName</A
>, a)] -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkOccEnv_C"
><A NAME="v%3AmkOccEnv_C"
></A
></A
><B
>mkOccEnv_C</B
> ::  (a -&gt; a -&gt; a) -&gt; [(<A HREF="OccName.html#t%3AOccName"
>OccName</A
>, a)] -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:extendOccEnvList"
><A NAME="v%3AextendOccEnvList"
></A
></A
><B
>extendOccEnvList</B
> ::  <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a -&gt; [(<A HREF="OccName.html#t%3AOccName"
>OccName</A
>, a)] -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:elemOccEnv"
><A NAME="v%3AelemOccEnv"
></A
></A
><B
>elemOccEnv</B
> ::  <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> 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:occEnvElts"
><A NAME="v%3AoccEnvElts"
></A
></A
><B
>occEnvElts</B
> ::  <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a -&gt; [a]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:foldOccEnv"
><A NAME="v%3AfoldOccEnv"
></A
></A
><B
>foldOccEnv</B
> ::  (a -&gt; b -&gt; b) -&gt; b -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a -&gt; b</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:plusOccEnv"
><A NAME="v%3AplusOccEnv"
></A
></A
><B
>plusOccEnv</B
> ::  <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:plusOccEnv_C"
><A NAME="v%3AplusOccEnv_C"
></A
></A
><B
>plusOccEnv_C</B
> ::  (a -&gt; a -&gt; a) -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:extendOccEnv_C"
><A NAME="v%3AextendOccEnv_C"
></A
></A
><B
>extendOccEnv_C</B
> ::  (a -&gt; a -&gt; a) -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; a -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:filterOccEnv"
><A NAME="v%3AfilterOccEnv"
></A
></A
><B
>filterOccEnv</B
> ::  (elt -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>) -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> elt -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> elt</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:delListFromOccEnv"
><A NAME="v%3AdelListFromOccEnv"
></A
></A
><B
>delListFromOccEnv</B
> ::  <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a -&gt; [<A HREF="OccName.html#t%3AOccName"
>OccName</A
>] -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:delFromOccEnv"
><A NAME="v%3AdelFromOccEnv"
></A
></A
><B
>delFromOccEnv</B
> ::  <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="9"
><A NAME="9"
>The <TT
><A HREF="OccName.html#t%3AOccSet"
>OccSet</A
></TT
> type
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:OccSet"
><A NAME="t%3AOccSet"
></A
></A
><B
>OccSet</B
> = <A HREF="UniqSet.html#t%3AUniqSet"
>UniqSet</A
> <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:emptyOccSet"
><A NAME="v%3AemptyOccSet"
></A
></A
><B
>emptyOccSet</B
> :: <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unitOccSet"
><A NAME="v%3AunitOccSet"
></A
></A
><B
>unitOccSet</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkOccSet"
><A NAME="v%3AmkOccSet"
></A
></A
><B
>mkOccSet</B
> :: [<A HREF="OccName.html#t%3AOccName"
>OccName</A
>] -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:extendOccSet"
><A NAME="v%3AextendOccSet"
></A
></A
><B
>extendOccSet</B
> :: <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:extendOccSetList"
><A NAME="v%3AextendOccSetList"
></A
></A
><B
>extendOccSetList</B
> :: <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
> -&gt; [<A HREF="OccName.html#t%3AOccName"
>OccName</A
>] -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unionOccSets"
><A NAME="v%3AunionOccSets"
></A
></A
><B
>unionOccSets</B
> :: <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
> -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
> -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unionManyOccSets"
><A NAME="v%3AunionManyOccSets"
></A
></A
><B
>unionManyOccSets</B
> :: [<A HREF="OccName.html#t%3AOccSet"
>OccSet</A
>] -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:minusOccSet"
><A NAME="v%3AminusOccSet"
></A
></A
><B
>minusOccSet</B
> :: <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
> -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
> -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:elemOccSet"
><A NAME="v%3AelemOccSet"
></A
></A
><B
>elemOccSet</B
> :: <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</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:occSetElts"
><A NAME="v%3AoccSetElts"
></A
></A
><B
>occSetElts</B
> :: <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
> -&gt; [<A HREF="OccName.html#t%3AOccName"
>OccName</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:foldOccSet"
><A NAME="v%3AfoldOccSet"
></A
></A
><B
>foldOccSet</B
> ::  (<A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; b -&gt; b) -&gt; b -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
> -&gt; b</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isEmptyOccSet"
><A NAME="v%3AisEmptyOccSet"
></A
></A
><B
>isEmptyOccSet</B
> :: <A HREF="OccName.html#t%3AOccSet"
>OccSet</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:intersectOccSet"
><A NAME="v%3AintersectOccSet"
></A
></A
><B
>intersectOccSet</B
> :: <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
> -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
> -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:intersectsOccSet"
><A NAME="v%3AintersectsOccSet"
></A
></A
><B
>intersectsOccSet</B
> :: <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
> -&gt; <A HREF="OccName.html#t%3AOccSet"
>OccSet</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="10"
><A NAME="10"
>Tidying up
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:TidyOccEnv"
><A NAME="t%3ATidyOccEnv"
></A
></A
><B
>TidyOccEnv</B
> = <A HREF="OccName.html#t%3AOccEnv"
>OccEnv</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:emptyTidyOccEnv"
><A NAME="v%3AemptyTidyOccEnv"
></A
></A
><B
>emptyTidyOccEnv</B
> :: <A HREF="OccName.html#t%3ATidyOccEnv"
>TidyOccEnv</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tidyOccName"
><A NAME="v%3AtidyOccName"
></A
></A
><B
>tidyOccName</B
> :: <A HREF="OccName.html#t%3ATidyOccEnv"
>TidyOccEnv</A
> -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
> -&gt; (<A HREF="OccName.html#t%3ATidyOccEnv"
>TidyOccEnv</A
>, <A HREF="OccName.html#t%3AOccName"
>OccName</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:initTidyOccEnv"
><A NAME="v%3AinitTidyOccEnv"
></A
></A
><B
>initTidyOccEnv</B
> :: [<A HREF="OccName.html#t%3AOccName"
>OccName</A
>] -&gt; <A HREF="OccName.html#t%3ATidyOccEnv"
>TidyOccEnv</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="11"
><A NAME="11"
>Lexical characteristics of Haskell names
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isLexCon"
><A NAME="v%3AisLexCon"
></A
></A
><B
>isLexCon</B
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</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:isLexVar"
><A NAME="v%3AisLexVar"
></A
></A
><B
>isLexVar</B
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</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:isLexId"
><A NAME="v%3AisLexId"
></A
></A
><B
>isLexId</B
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</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:isLexSym"
><A NAME="v%3AisLexSym"
></A
></A
><B
>isLexSym</B
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</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:isLexConId"
><A NAME="v%3AisLexConId"
></A
></A
><B
>isLexConId</B
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</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:isLexConSym"
><A NAME="v%3AisLexConSym"
></A
></A
><B
>isLexConSym</B
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</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:isLexVarId"
><A NAME="v%3AisLexVarId"
></A
></A
><B
>isLexVarId</B
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</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:isLexVarSym"
><A NAME="v%3AisLexVarSym"
></A
></A
><B
>isLexVarSym</B
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</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:startsVarSym"
><A NAME="v%3AstartsVarSym"
></A
></A
><B
>startsVarSym</B
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AChar"
>Char</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:startsVarId"
><A NAME="v%3AstartsVarId"
></A
></A
><B
>startsVarId</B
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AChar"
>Char</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:startsConSym"
><A NAME="v%3AstartsConSym"
></A
></A
><B
>startsConSym</B
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AChar"
>Char</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:startsConId"
><A NAME="v%3AstartsConId"
></A
></A
><B
>startsConId</B
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AChar"
>Char</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</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
>