<!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 >Unique</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_Unique.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" >Unique</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" >Main data types </A ></DT ><DD ><DL ><DT ><A HREF="#2" >Constructors, desctructors and operations on <TT ><A HREF="Unique.html#t%3AUnique" >Unique</A ></TT >s </A ></DT ><DT ><A HREF="#3" >Making built-in uniques </A ></DT ></DL ></DD ></DL ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></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%3AUnique" >Unique</A > </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A HREF="#t%3AUniquable" >Uniquable</A > a <SPAN CLASS="keyword" >where</SPAN ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="#v%3AgetUnique" >getUnique</A > :: a -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AhasKey" >hasKey</A > :: <A HREF="Unique.html#t%3AUniquable" >Uniquable</A > a => a -> <A HREF="Unique.html#t%3AUnique" >Unique</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%3ApprUnique" >pprUnique</A > :: <A HREF="Unique.html#t%3AUnique" >Unique</A > -> <A HREF="Outputable.html#t%3ASDoc" >SDoc</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmkUnique" >mkUnique</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmkUniqueGrimily" >mkUniqueGrimily</A > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AgetKey" >getKey</A > :: <A HREF="Unique.html#t%3AUnique" >Unique</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%3AgetKeyFastInt" >getKeyFastInt</A > :: <A HREF="Unique.html#t%3AUnique" >Unique</A > -> <A HREF="FastTypes.html#t%3AFastInt" >FastInt</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AincrUnique" >incrUnique</A > :: <A HREF="Unique.html#t%3AUnique" >Unique</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AderiveUnique" >deriveUnique</A > :: <A HREF="Unique.html#t%3AUnique" >Unique</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AnewTagUnique" >newTagUnique</A > :: <A HREF="Unique.html#t%3AUnique" >Unique</A > -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AinitTyVarUnique" >initTyVarUnique</A > :: <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AisTupleKey" >isTupleKey</A > :: <A HREF="Unique.html#t%3AUnique" >Unique</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%3AmkAlphaTyVarUnique" >mkAlphaTyVarUnique</A > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmkPrimOpIdUnique" >mkPrimOpIdUnique</A > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmkTupleTyConUnique" >mkTupleTyConUnique</A > :: <A HREF="BasicTypes.html#t%3ABoxity" >Boxity</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmkTupleDataConUnique" >mkTupleDataConUnique</A > :: <A HREF="BasicTypes.html#t%3ABoxity" >Boxity</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmkPreludeMiscIdUnique" >mkPreludeMiscIdUnique</A > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmkPreludeDataConUnique" >mkPreludeDataConUnique</A > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmkPreludeTyConUnique" >mkPreludeTyConUnique</A > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmkPreludeClassUnique" >mkPreludeClassUnique</A > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmkPArrDataConUnique" >mkPArrDataConUnique</A > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmkBuiltinUnique" >mkBuiltinUnique</A > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmkPseudoUniqueC" >mkPseudoUniqueC</A > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmkPseudoUniqueD" >mkPseudoUniqueD</A > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmkPseudoUniqueE" >mkPseudoUniqueE</A > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmkPseudoUniqueH" >mkPseudoUniqueH</A > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</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" >Main data types </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Unique" ><A NAME="t%3AUnique" ></A ></A ><B >Unique</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >The type of unique identifiers that are used in many places in GHC for fast ordering and equality tests. You should generate these with the functions from the UniqSupply module </TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Unique')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:Unique" 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="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrd" >Ord</A > <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Outputable.html#t%3AOutputable" >Outputable</A > <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Unique.html#t%3AUniquable" >Uniquable</A > <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A NAME="t:Uniquable" ><A NAME="t%3AUniquable" ></A ></A ><B >Uniquable</B > a <SPAN CLASS="keyword" >where</SPAN ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >Class of things that we can obtain a <TT ><A HREF="Unique.html#t%3AUnique" >Unique</A ></TT > from </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" >Methods</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A NAME="v:getUnique" ><A NAME="v%3AgetUnique" ></A ></A ><B >getUnique</B > :: a -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Uniquable')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:Uniquable" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="Unique.html#t%3AUniquable" >Uniquable</A > <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Unique.html#t%3AUniquable" >Uniquable</A > <A HREF="Module.html#t%3APackageId" >PackageId</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Unique.html#t%3AUniquable" >Uniquable</A > <A HREF="Module.html#t%3AModuleName" >ModuleName</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Unique.html#t%3AUniquable" >Uniquable</A > <A HREF="Module.html#t%3AModule" >Module</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="Unique.html#t%3AUniquable" >Uniquable</A > <A HREF="FastString.html#t%3AFastString" >FastString</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Unique.html#t%3AUniquable" >Uniquable</A > <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Unique.html#t%3AUniquable" >Uniquable</A > <A HREF="RegClass.html#t%3ARegClass" >RegClass</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Unique.html#t%3AUniquable" >Uniquable</A > <A HREF="Reg.html#t%3AReg" >Reg</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Unique.html#t%3AUniquable" >Uniquable</A > <A HREF="Reg.html#t%3ARealReg" >RealReg</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Unique.html#t%3AUniquable" >Uniquable</A > <A HREF="Reg.html#t%3AVirtualReg" >VirtualReg</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Unique.html#t%3AUniquable" >Uniquable</A > <A HREF="RegAlloc-Graph-ArchBase.html#t%3AReg" >Reg</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Unique.html#t%3AUniquable" >Uniquable</A > <A HREF="StackPlacements.html#t%3ASlotClass" >SlotClass</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Unique.html#t%3AUniquable" >Uniquable</A > <A HREF="TyCon.html#t%3ATyCon" >TyCon</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Unique.html#t%3AUniquable" >Uniquable</A > <A HREF="Name.html#t%3AName" >Name</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Unique.html#t%3AUniquable" >Uniquable</A > <A HREF="Var.html#t%3AVar" >Var</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Unique.html#t%3AUniquable" >Uniquable</A > <A HREF="Class.html#t%3AClass" >Class</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Unique.html#t%3AUniquable" >Uniquable</A > <A HREF="DataCon.html#t%3ADataCon" >DataCon</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Unique.html#t%3AUniquable" >Uniquable</A > <A HREF="BlockId.html#t%3ABlockId" >BlockId</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Unique.html#t%3AUniquable" >Uniquable</A > <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Unique.html#t%3AUniquable" >Uniquable</A > Store</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Unique.html#t%3AUniquable" >Uniquable</A > name => <A HREF="Unique.html#t%3AUniquable" >Uniquable</A > (<A HREF="Annotations.html#t%3AAnnTarget" >AnnTarget</A > name)</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" >Constructors, desctructors and operations on <TT ><A HREF="Unique.html#t%3AUnique" >Unique</A ></TT >s </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:hasKey" ><A NAME="v%3AhasKey" ></A ></A ><B >hasKey</B > :: <A HREF="Unique.html#t%3AUniquable" >Uniquable</A > a => a -> <A HREF="Unique.html#t%3AUnique" >Unique</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:pprUnique" ><A NAME="v%3ApprUnique" ></A ></A ><B >pprUnique</B > :: <A HREF="Unique.html#t%3AUnique" >Unique</A > -> <A HREF="Outputable.html#t%3ASDoc" >SDoc</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkUnique" ><A NAME="v%3AmkUnique" ></A ></A ><B >mkUnique</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkUniqueGrimily" ><A NAME="v%3AmkUniqueGrimily" ></A ></A ><B >mkUniqueGrimily</B > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:getKey" ><A NAME="v%3AgetKey" ></A ></A ><B >getKey</B > :: <A HREF="Unique.html#t%3AUnique" >Unique</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:getKeyFastInt" ><A NAME="v%3AgetKeyFastInt" ></A ></A ><B >getKeyFastInt</B > :: <A HREF="Unique.html#t%3AUnique" >Unique</A > -> <A HREF="FastTypes.html#t%3AFastInt" >FastInt</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:incrUnique" ><A NAME="v%3AincrUnique" ></A ></A ><B >incrUnique</B > :: <A HREF="Unique.html#t%3AUnique" >Unique</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:deriveUnique" ><A NAME="v%3AderiveUnique" ></A ></A ><B >deriveUnique</B > :: <A HREF="Unique.html#t%3AUnique" >Unique</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:newTagUnique" ><A NAME="v%3AnewTagUnique" ></A ></A ><B >newTagUnique</B > :: <A HREF="Unique.html#t%3AUnique" >Unique</A > -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:initTyVarUnique" ><A NAME="v%3AinitTyVarUnique" ></A ></A ><B >initTyVarUnique</B > :: <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:isTupleKey" ><A NAME="v%3AisTupleKey" ></A ></A ><B >isTupleKey</B > :: <A HREF="Unique.html#t%3AUnique" >Unique</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="section2" ><A NAME="3" ><A NAME="3" >Making built-in uniques </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkAlphaTyVarUnique" ><A NAME="v%3AmkAlphaTyVarUnique" ></A ></A ><B >mkAlphaTyVarUnique</B > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkPrimOpIdUnique" ><A NAME="v%3AmkPrimOpIdUnique" ></A ></A ><B >mkPrimOpIdUnique</B > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkTupleTyConUnique" ><A NAME="v%3AmkTupleTyConUnique" ></A ></A ><B >mkTupleTyConUnique</B > :: <A HREF="BasicTypes.html#t%3ABoxity" >Boxity</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkTupleDataConUnique" ><A NAME="v%3AmkTupleDataConUnique" ></A ></A ><B >mkTupleDataConUnique</B > :: <A HREF="BasicTypes.html#t%3ABoxity" >Boxity</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkPreludeMiscIdUnique" ><A NAME="v%3AmkPreludeMiscIdUnique" ></A ></A ><B >mkPreludeMiscIdUnique</B > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkPreludeDataConUnique" ><A NAME="v%3AmkPreludeDataConUnique" ></A ></A ><B >mkPreludeDataConUnique</B > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkPreludeTyConUnique" ><A NAME="v%3AmkPreludeTyConUnique" ></A ></A ><B >mkPreludeTyConUnique</B > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkPreludeClassUnique" ><A NAME="v%3AmkPreludeClassUnique" ></A ></A ><B >mkPreludeClassUnique</B > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkPArrDataConUnique" ><A NAME="v%3AmkPArrDataConUnique" ></A ></A ><B >mkPArrDataConUnique</B > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkBuiltinUnique" ><A NAME="v%3AmkBuiltinUnique" ></A ></A ><B >mkBuiltinUnique</B > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkPseudoUniqueC" ><A NAME="v%3AmkPseudoUniqueC" ></A ></A ><B >mkPseudoUniqueC</B > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkPseudoUniqueD" ><A NAME="v%3AmkPseudoUniqueD" ></A ></A ><B >mkPseudoUniqueD</B > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkPseudoUniqueE" ><A NAME="v%3AmkPseudoUniqueE" ></A ></A ><B >mkPseudoUniqueE</B > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkPseudoUniqueH" ><A NAME="v%3AmkPseudoUniqueH" ></A ></A ><B >mkPseudoUniqueH</B > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Unique.html#t%3AUnique" >Unique</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 >