<!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.12.3: 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 "namespace" 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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <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 > -> <A HREF="FastString.html#t%3AFastString" >FastString</A > -> <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-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <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 > -> <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-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <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 > -> <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-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <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 > -> <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-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <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 > -> <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-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <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 > -> <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-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="OccName.html#t%3AOccSet" >OccSet</A > -> <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 > -> <A HREF="BasicTypes.html#t%3ABoxity" >Boxity</A > -> <A HREF="BasicTypes.html#t%3AArity" >Arity</A > -> <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 > -> <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <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 > -> <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <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 > -> <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="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="OccName.html#t%3AOccSet" >OccSet</A > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <A HREF="OccName.html#t%3AOccName" >OccName</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmkPDataTyConOcc" >mkPDataTyConOcc</A > :: <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <A HREF="OccName.html#t%3AOccName" >OccName</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmkPDataDataConOcc" >mkPDataDataConOcc</A > :: <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <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 > -> <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 > -> <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 > -> <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 > -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AoccNameSpace" >occNameSpace</A > :: <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="Outputable.html#t%3ASDoc" >SDoc</A > -> <A HREF="Outputable.html#t%3ASDoc" >SDoc</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AstartsWithUnderscore" >startsWithUnderscore</A > :: <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/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 > -> 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%3AextendOccEnv" >extendOccEnv</A > :: <A HREF="OccName.html#t%3AOccEnv" >OccEnv</A > a -> <A HREF="OccName.html#t%3AOccName" >OccName</A > -> 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%3AmapOccEnv" >mapOccEnv</A > :: (a -> b) -> <A HREF="OccName.html#t%3AOccEnv" >OccEnv</A > a -> <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 -> <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <A HREF="../base-4.2.0.2/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)] -> <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 -> a -> a) -> [(<A HREF="OccName.html#t%3AOccName" >OccName</A >, 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%3AextendOccEnvList" >extendOccEnvList</A > :: <A HREF="OccName.html#t%3AOccEnv" >OccEnv</A > a -> [(<A HREF="OccName.html#t%3AOccName" >OccName</A >, 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%3AelemOccEnv" >elemOccEnv</A > :: <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <A HREF="OccName.html#t%3AOccEnv" >OccEnv</A > a -> <A HREF="../base-4.2.0.2/Data-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 -> [a]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfoldOccEnv" >foldOccEnv</A > :: (a -> b -> b) -> b -> <A HREF="OccName.html#t%3AOccEnv" >OccEnv</A > a -> 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 -> <A HREF="OccName.html#t%3AOccEnv" >OccEnv</A > 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%3AplusOccEnv_C" >plusOccEnv_C</A > :: (a -> a -> a) -> <A HREF="OccName.html#t%3AOccEnv" >OccEnv</A > a -> <A HREF="OccName.html#t%3AOccEnv" >OccEnv</A > 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%3AextendOccEnv_C" >extendOccEnv_C</A > :: (a -> a -> a) -> <A HREF="OccName.html#t%3AOccEnv" >OccEnv</A > a -> <A HREF="OccName.html#t%3AOccName" >OccName</A > -> 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%3AfilterOccEnv" >filterOccEnv</A > :: (elt -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A >) -> <A HREF="OccName.html#t%3AOccEnv" >OccEnv</A > elt -> <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 -> [<A HREF="OccName.html#t%3AOccName" >OccName</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%3AdelFromOccEnv" >delFromOccEnv</A > :: <A HREF="OccName.html#t%3AOccEnv" >OccEnv</A > a -> <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <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 > -> <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 >] -> <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 > -> <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <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 > -> [<A HREF="OccName.html#t%3AOccName" >OccName</A >] -> <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 > -> <A HREF="OccName.html#t%3AOccSet" >OccSet</A > -> <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 >] -> <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 > -> <A HREF="OccName.html#t%3AOccSet" >OccSet</A > -> <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 > -> <A HREF="OccName.html#t%3AOccSet" >OccSet</A > -> <A HREF="../base-4.2.0.2/Data-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 > -> [<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 > -> b -> b) -> b -> <A HREF="OccName.html#t%3AOccSet" >OccSet</A > -> 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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="OccName.html#t%3AOccSet" >OccSet</A > -> <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 > -> <A HREF="OccName.html#t%3AOccSet" >OccSet</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3ATidyOccEnv" >TidyOccEnv</A > = <A HREF="OccName.html#t%3AOccEnv" >OccEnv</A > <A HREF="../base-4.2.0.2/Data-Int.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 > -> <A HREF="OccName.html#t%3AOccName" >OccName</A > -> (<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 >] -> <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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A > -> <A HREF="../base-4.2.0.2/Data-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="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A > -> <A HREF="../base-4.2.0.2/Data-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="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A > -> <A HREF="../base-4.2.0.2/Data-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="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A > -> <A HREF="../base-4.2.0.2/Data-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-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="OccName.html#t%3ANameSpace" >NameSpace</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/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) -> T</TT > The real datacon has type <TT >Int -> Int -> 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 > -> <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 > -> <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 > -> <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-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="OccName.html#t%3AOccName" >OccName</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/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 > -> <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 > -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <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 > -> <A HREF="FastString.html#t%3AFastString" >FastString</A > -> <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-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <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 > -> <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-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <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 > -> <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-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <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 > -> <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-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <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 > -> <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-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <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 > -> <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-4.2.0.2/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" >-> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="rdoc" >Is this a hs-boot instance DFun? </TD ></TR ><TR ><TD CLASS="arg" >-> <A HREF="OccName.html#t%3AOccSet" >OccSet</A ></TD ><TD CLASS="rdoc" >avoid these Occs </TD ></TR ><TR ><TD CLASS="arg" >-> <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 > -> <A HREF="BasicTypes.html#t%3ABoxity" >Boxity</A > -> <A HREF="BasicTypes.html#t%3AArity" >Arity</A > -> <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 > -> <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="rdoc" >Index of superclass, e.g. 3 </TD ></TR ><TR ><TD CLASS="arg" >-> <A HREF="OccName.html#t%3AOccName" >OccName</A ></TD ><TD CLASS="rdoc" >Class, e.g. <TT >Ord</TT > </TD ></TR ><TR ><TD CLASS="arg" >-> <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" >-> <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" >-> <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 > -> <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="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="rdoc" >Family name, e.g. <TT >Map</TT > </TD ></TR ><TR ><TD CLASS="arg" >-> <A HREF="OccName.html#t%3AOccSet" >OccSet</A ></TD ><TD CLASS="rdoc" >avoid these Occs </TD ></TR ><TR ><TD CLASS="arg" >-> <A HREF="OccName.html#t%3AOccName" >OccName</A ></TD ><TD CLASS="rdoc" ><PRE >R:Map</PRE ></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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <A HREF="OccName.html#t%3AOccName" >OccName</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkPDataTyConOcc" ><A NAME="v%3AmkPDataTyConOcc" ></A ></A ><B >mkPDataTyConOcc</B > :: <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <A HREF="OccName.html#t%3AOccName" >OccName</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkPDataDataConOcc" ><A NAME="v%3AmkPDataDataConOcc" ></A ></A ><B >mkPDataDataConOcc</B > :: <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <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 > -> <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 > -> <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 > -> <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 > -> <A HREF="../base-4.2.0.2/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 > -> <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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="Outputable.html#t%3ASDoc" >SDoc</A > -> <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:startsWithUnderscore" ><A NAME="v%3AstartsWithUnderscore" ></A ></A ><B >startsWithUnderscore</B > :: <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="doc" >Haskell 98 encourages compilers to suppress warnings about unsed 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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/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 => <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 > -> a -> <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 -> <A HREF="OccName.html#t%3AOccName" >OccName</A > -> a -> <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 -> b) -> <A HREF="OccName.html#t%3AOccEnv" >OccEnv</A > a -> <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 -> <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <A HREF="../base-4.2.0.2/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)] -> <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 -> a -> a) -> [(<A HREF="OccName.html#t%3AOccName" >OccName</A >, a)] -> <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 -> [(<A HREF="OccName.html#t%3AOccName" >OccName</A >, a)] -> <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 > -> <A HREF="OccName.html#t%3AOccEnv" >OccEnv</A > a -> <A HREF="../base-4.2.0.2/Data-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 -> [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 -> b -> b) -> b -> <A HREF="OccName.html#t%3AOccEnv" >OccEnv</A > a -> 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 -> <A HREF="OccName.html#t%3AOccEnv" >OccEnv</A > a -> <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 -> a -> a) -> <A HREF="OccName.html#t%3AOccEnv" >OccEnv</A > a -> <A HREF="OccName.html#t%3AOccEnv" >OccEnv</A > a -> <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 -> a -> a) -> <A HREF="OccName.html#t%3AOccEnv" >OccEnv</A > a -> <A HREF="OccName.html#t%3AOccName" >OccName</A > -> a -> <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 -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A >) -> <A HREF="OccName.html#t%3AOccEnv" >OccEnv</A > elt -> <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 -> [<A HREF="OccName.html#t%3AOccName" >OccName</A >] -> <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 -> <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <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 > -> <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 >] -> <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 > -> <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <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 > -> [<A HREF="OccName.html#t%3AOccName" >OccName</A >] -> <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 > -> <A HREF="OccName.html#t%3AOccSet" >OccSet</A > -> <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 >] -> <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 > -> <A HREF="OccName.html#t%3AOccSet" >OccSet</A > -> <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 > -> <A HREF="OccName.html#t%3AOccSet" >OccSet</A > -> <A HREF="../base-4.2.0.2/Data-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 > -> [<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 > -> b -> b) -> b -> <A HREF="OccName.html#t%3AOccSet" >OccSet</A > -> 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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="OccName.html#t%3AOccSet" >OccSet</A > -> <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 > -> <A HREF="OccName.html#t%3AOccSet" >OccSet</A > -> <A HREF="../base-4.2.0.2/Data-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="../base-4.2.0.2/Data-Int.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 > -> <A HREF="OccName.html#t%3AOccName" >OccName</A > -> (<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 >] -> <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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A > -> <A HREF="../base-4.2.0.2/Data-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="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A > -> <A HREF="../base-4.2.0.2/Data-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="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A > -> <A HREF="../base-4.2.0.2/Data-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="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A > -> <A HREF="../base-4.2.0.2/Data-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.6.1</TD ></TR ></TABLE ></BODY ></HTML >