Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-release > by-pkgid > 6e204a966e8c42d976f99a1700ce5f20 > files > 2958

ghc-7.4.2-4.mga5.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>OccName</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_OccName.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ghc-7.4.2: The GHC API</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr></table><p class="caption">OccName</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">The <code><a href="OccName.html#t:NameSpace">NameSpace</a></code> type
</a><ul><li><a href="#g:2">Construction
</a></li><li><a href="#g:3">Pretty Printing
</a></li></ul></li><li><a href="#g:4">The <code><a href="OccName.html#t:OccName">OccName</a></code> type
</a><ul><li><a href="#g:5">Construction	
</a></li><li><a href="#g:6">Derived <code><a href="OccName.html#t:OccName">OccName</a></code>s
</a></li><li><a href="#g:7">Deconstruction
</a></li></ul></li><li><a href="#g:8">The <code><a href="OccName.html#t:OccEnv">OccEnv</a></code> type
</a></li><li><a href="#g:9">The <code><a href="OccName.html#t:OccSet">OccSet</a></code> type
</a></li><li><a href="#g:10">Tidying up
</a></li><li><a href="#g:11">Lexical characteristics of Haskell names
</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p><a name="name_types"></a>
 GHC uses several kinds of name internally:
</p><ul><li> <code><a href="OccName.html#t:OccName">OccName</a></code> represents names as strings with just a little more information:
   the &quot;namespace&quot; that the name came from, e.g. the namespace of value, type constructors or
   data constructors
</li><li> <code><a href="RdrName.html#t:RdrName">RdrName</a></code>: see <a href="RdrName.html#name_types">RdrName</a>
</li><li> <code><a href="Name.html#t:Name">Name</a></code>: see <a href="Name.html#name_types">Name</a>
</li><li> <code><a href="Id.html#t:Id">Id</a></code>: see <a href="Id.html#name_types">Id</a>
</li><li> <code><a href="Var.html#t:Var">Var</a></code>: see <a href="Var.html#name_types">Var</a>
</li></ul></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span>  <a href="#t:NameSpace">NameSpace</a> </li><li class="src short"><a href="#v:tcName">tcName</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a></li><li class="src short"><a href="#v:clsName">clsName</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a></li><li class="src short"><a href="#v:tcClsName">tcClsName</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a></li><li class="src short"><a href="#v:dataName">dataName</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a></li><li class="src short"><a href="#v:varName">varName</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a></li><li class="src short"><a href="#v:tvName">tvName</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a></li><li class="src short"><a href="#v:srcDataName">srcDataName</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a></li><li class="src short"><a href="#v:pprNameSpace">pprNameSpace</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:pprNonVarNameSpace">pprNonVarNameSpace</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:pprNameSpaceBrief">pprNameSpaceBrief</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:OccName">OccName</a> </li><li class="src short"><a href="#v:pprOccName">pprOccName</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:mkOccName">mkOccName</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a> -&gt; <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkOccNameFS">mkOccNameFS</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a> -&gt; <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkVarOcc">mkVarOcc</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkVarOccFS">mkVarOccFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkDataOcc">mkDataOcc</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkDataOccFS">mkDataOccFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkTyVarOcc">mkTyVarOcc</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkTyVarOccFS">mkTyVarOccFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkTcOcc">mkTcOcc</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkTcOccFS">mkTcOccFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkClsOcc">mkClsOcc</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkClsOccFS">mkClsOccFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkDFunOcc">mkDFunOcc</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="OccName.html#t:OccSet">OccSet</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkTupleOcc">mkTupleOcc</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a> -&gt; <a href="BasicTypes.html#t:TupleSort">TupleSort</a> -&gt; <a href="BasicTypes.html#t:Arity">Arity</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:setOccNameSpace">setOccNameSpace</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:demoteOccName">demoteOccName</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:isDerivedOccName">isDerivedOccName</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:mkDataConWrapperOcc">mkDataConWrapperOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkWorkerOcc">mkWorkerOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkDefaultMethodOcc">mkDefaultMethodOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkGenDefMethodOcc">mkGenDefMethodOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkDerivedTyConOcc">mkDerivedTyConOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkNewTyCoOcc">mkNewTyCoOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkClassOpAuxOcc">mkClassOpAuxOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkCon2TagOcc">mkCon2TagOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkTag2ConOcc">mkTag2ConOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkMaxTagOcc">mkMaxTagOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkClassDataConOcc">mkClassDataConOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkDictOcc">mkDictOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkIPOcc">mkIPOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkSpecOcc">mkSpecOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkForeignExportOcc">mkForeignExportOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkGenOcc1">mkGenOcc1</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkGenOcc2">mkGenOcc2</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkGenD">mkGenD</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkGenR">mkGenR</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkGenRCo">mkGenRCo</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkGenC">mkGenC</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkGenS">mkGenS</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkDataTOcc">mkDataTOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkDataCOcc">mkDataCOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkDataConWorkerOcc">mkDataConWorkerOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkSuperDictSelOcc">mkSuperDictSelOcc</a> :: <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkLocalOcc">mkLocalOcc</a> :: <a href="Unique.html#t:Unique">Unique</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkMethodOcc">mkMethodOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkInstTyTcOcc">mkInstTyTcOcc</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccSet">OccSet</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkInstTyCoOcc">mkInstTyCoOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkEqPredCoOcc">mkEqPredCoOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkVectOcc">mkVectOcc</a> :: <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkVectTyConOcc">mkVectTyConOcc</a> :: <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkVectDataConOcc">mkVectDataConOcc</a> :: <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkVectIsoOcc">mkVectIsoOcc</a> :: <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkPDataTyConOcc">mkPDataTyConOcc</a> :: <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkPDataDataConOcc">mkPDataDataConOcc</a> :: <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkPDatasTyConOcc">mkPDatasTyConOcc</a> :: <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkPDatasDataConOcc">mkPDatasDataConOcc</a> :: <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkPReprTyConOcc">mkPReprTyConOcc</a> :: <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:mkPADFunOcc">mkPADFunOcc</a> :: <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:occNameFS">occNameFS</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="FastString.html#t:FastString">FastString</a></li><li class="src short"><a href="#v:occNameString">occNameString</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:occNameSpace">occNameSpace</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:NameSpace">NameSpace</a></li><li class="src short"><a href="#v:isVarOcc">isVarOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isTvOcc">isTvOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isTcOcc">isTcOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isDataOcc">isDataOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isDataSymOcc">isDataSymOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isSymOcc">isSymOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isValOcc">isValOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:parenSymOcc">parenSymOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:startsWithUnderscore">startsWithUnderscore</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isTcClsNameSpace">isTcClsNameSpace</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isTvNameSpace">isTvNameSpace</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isDataConNameSpace">isDataConNameSpace</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isVarNameSpace">isVarNameSpace</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isValNameSpace">isValNameSpace</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isTupleOcc_maybe">isTupleOcc_maybe</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="OccName.html#t:NameSpace">NameSpace</a>, <a href="BasicTypes.html#t:TupleSort">TupleSort</a>, <a href="BasicTypes.html#t:Arity">Arity</a>)</li><li class="src short"><span class="keyword">data</span>  <a href="#t:OccEnv">OccEnv</a> a</li><li class="src short"><a href="#v:emptyOccEnv">emptyOccEnv</a> ::  <a href="OccName.html#t:OccEnv">OccEnv</a> a</li><li class="src short"><a href="#v:unitOccEnv">unitOccEnv</a> ::  <a href="OccName.html#t:OccName">OccName</a> -&gt; a -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a</li><li class="src short"><a href="#v:extendOccEnv">extendOccEnv</a> ::  <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; a -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a</li><li class="src short"><a href="#v:mapOccEnv">mapOccEnv</a> ::  (a -&gt; b) -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> b</li><li class="src short"><a href="#v:lookupOccEnv">lookupOccEnv</a> ::  <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:mkOccEnv">mkOccEnv</a> ::  [(<a href="OccName.html#t:OccName">OccName</a>, a)] -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a</li><li class="src short"><a href="#v:mkOccEnv_C">mkOccEnv_C</a> ::  (a -&gt; a -&gt; a) -&gt; [(<a href="OccName.html#t:OccName">OccName</a>, a)] -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a</li><li class="src short"><a href="#v:extendOccEnvList">extendOccEnvList</a> ::  <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; [(<a href="OccName.html#t:OccName">OccName</a>, a)] -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a</li><li class="src short"><a href="#v:elemOccEnv">elemOccEnv</a> ::  <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:occEnvElts">occEnvElts</a> ::  <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; [a]</li><li class="src short"><a href="#v:foldOccEnv">foldOccEnv</a> ::  (a -&gt; b -&gt; b) -&gt; b -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; b</li><li class="src short"><a href="#v:plusOccEnv">plusOccEnv</a> ::  <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a</li><li class="src short"><a href="#v:plusOccEnv_C">plusOccEnv_C</a> ::  (a -&gt; a -&gt; a) -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a</li><li class="src short"><a href="#v:extendOccEnv_C">extendOccEnv_C</a> ::  (a -&gt; a -&gt; a) -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; a -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a</li><li class="src short"><a href="#v:extendOccEnv_Acc">extendOccEnv_Acc</a> ::  (a -&gt; b -&gt; b) -&gt; (a -&gt; b) -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> b -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; a -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> b</li><li class="src short"><a href="#v:filterOccEnv">filterOccEnv</a> ::  (elt -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> elt -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> elt</li><li class="src short"><a href="#v:delListFromOccEnv">delListFromOccEnv</a> ::  <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; [<a href="OccName.html#t:OccName">OccName</a>] -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a</li><li class="src short"><a href="#v:delFromOccEnv">delFromOccEnv</a> ::  <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a</li><li class="src short"><span class="keyword">type</span> <a href="#t:OccSet">OccSet</a> = <a href="UniqSet.html#t:UniqSet">UniqSet</a> <a href="OccName.html#t:OccName">OccName</a></li><li class="src short"><a href="#v:emptyOccSet">emptyOccSet</a> :: <a href="OccName.html#t:OccSet">OccSet</a></li><li class="src short"><a href="#v:unitOccSet">unitOccSet</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccSet">OccSet</a></li><li class="src short"><a href="#v:mkOccSet">mkOccSet</a> :: [<a href="OccName.html#t:OccName">OccName</a>] -&gt; <a href="OccName.html#t:OccSet">OccSet</a></li><li class="src short"><a href="#v:extendOccSet">extendOccSet</a> :: <a href="OccName.html#t:OccSet">OccSet</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccSet">OccSet</a></li><li class="src short"><a href="#v:extendOccSetList">extendOccSetList</a> :: <a href="OccName.html#t:OccSet">OccSet</a> -&gt; [<a href="OccName.html#t:OccName">OccName</a>] -&gt; <a href="OccName.html#t:OccSet">OccSet</a></li><li class="src short"><a href="#v:unionOccSets">unionOccSets</a> :: <a href="OccName.html#t:OccSet">OccSet</a> -&gt; <a href="OccName.html#t:OccSet">OccSet</a> -&gt; <a href="OccName.html#t:OccSet">OccSet</a></li><li class="src short"><a href="#v:unionManyOccSets">unionManyOccSets</a> :: [<a href="OccName.html#t:OccSet">OccSet</a>] -&gt; <a href="OccName.html#t:OccSet">OccSet</a></li><li class="src short"><a href="#v:minusOccSet">minusOccSet</a> :: <a href="OccName.html#t:OccSet">OccSet</a> -&gt; <a href="OccName.html#t:OccSet">OccSet</a> -&gt; <a href="OccName.html#t:OccSet">OccSet</a></li><li class="src short"><a href="#v:elemOccSet">elemOccSet</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccSet">OccSet</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:occSetElts">occSetElts</a> :: <a href="OccName.html#t:OccSet">OccSet</a> -&gt; [<a href="OccName.html#t:OccName">OccName</a>]</li><li class="src short"><a href="#v:foldOccSet">foldOccSet</a> ::  (<a href="OccName.html#t:OccName">OccName</a> -&gt; b -&gt; b) -&gt; b -&gt; <a href="OccName.html#t:OccSet">OccSet</a> -&gt; b</li><li class="src short"><a href="#v:isEmptyOccSet">isEmptyOccSet</a> :: <a href="OccName.html#t:OccSet">OccSet</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:intersectOccSet">intersectOccSet</a> :: <a href="OccName.html#t:OccSet">OccSet</a> -&gt; <a href="OccName.html#t:OccSet">OccSet</a> -&gt; <a href="OccName.html#t:OccSet">OccSet</a></li><li class="src short"><a href="#v:intersectsOccSet">intersectsOccSet</a> :: <a href="OccName.html#t:OccSet">OccSet</a> -&gt; <a href="OccName.html#t:OccSet">OccSet</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:TidyOccEnv">TidyOccEnv</a> = <a href="OccName.html#t:OccEnv">OccEnv</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:emptyTidyOccEnv">emptyTidyOccEnv</a> :: <a href="OccName.html#t:TidyOccEnv">TidyOccEnv</a></li><li class="src short"><a href="#v:tidyOccName">tidyOccName</a> :: <a href="OccName.html#t:TidyOccEnv">TidyOccEnv</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; (<a href="OccName.html#t:TidyOccEnv">TidyOccEnv</a>, <a href="OccName.html#t:OccName">OccName</a>)</li><li class="src short"><a href="#v:initTidyOccEnv">initTidyOccEnv</a> :: [<a href="OccName.html#t:OccName">OccName</a>] -&gt; <a href="OccName.html#t:TidyOccEnv">TidyOccEnv</a></li><li class="src short"><a href="#v:isLexCon">isLexCon</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isLexVar">isLexVar</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isLexId">isLexId</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isLexSym">isLexSym</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isLexConId">isLexConId</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isLexConSym">isLexConSym</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isLexVarId">isLexVarId</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isLexVarSym">isLexVarSym</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:startsVarSym">startsVarSym</a> :: <a href="../base-4.5.1.0/Data-Char.html#t:Char">Char</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:startsVarId">startsVarId</a> :: <a href="../base-4.5.1.0/Data-Char.html#t:Char">Char</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:startsConSym">startsConSym</a> :: <a href="../base-4.5.1.0/Data-Char.html#t:Char">Char</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:startsConId">startsConId</a> :: <a href="../base-4.5.1.0/Data-Char.html#t:Char">Char</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul></div><div id="interface"><h1 id="g:1">The <code><a href="OccName.html#t:NameSpace">NameSpace</a></code> type
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:NameSpace" class="def">NameSpace</a>  </p><div class="subs instances"><p id="control.i:NameSpace" class="caption collapser" onclick="toggleSection('i:NameSpace')">Instances</p><div id="section.i:NameSpace" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="OccName.html#t:NameSpace">NameSpace</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="OccName.html#t:NameSpace">NameSpace</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Binary.html#t:Binary">Binary</a> <a href="OccName.html#t:NameSpace">NameSpace</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h2 id="g:2">Construction
</h2><div 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 <code>(Int, Int) -&gt; T</code>
 The real   datacon has type <code>Int -&gt; Int -&gt; T</code>
</p><p>GHC chooses a representation based on the strictness etc.
</p></div><div class="top"><p class="src"><a name="v:tcName" class="def">tcName</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a></p></div><div class="top"><p class="src"><a name="v:clsName" class="def">clsName</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a></p></div><div class="top"><p class="src"><a name="v:tcClsName" class="def">tcClsName</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a></p></div><div class="top"><p class="src"><a name="v:dataName" class="def">dataName</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a></p></div><div class="top"><p class="src"><a name="v:varName" class="def">varName</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a></p></div><div class="top"><p class="src"><a name="v:tvName" class="def">tvName</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a></p></div><div class="top"><p class="src"><a name="v:srcDataName" class="def">srcDataName</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a></p></div><h2 id="g:3">Pretty Printing
</h2><div class="top"><p class="src"><a name="v:pprNameSpace" class="def">pprNameSpace</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:pprNonVarNameSpace" class="def">pprNonVarNameSpace</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:pprNameSpaceBrief" class="def">pprNameSpaceBrief</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><h1 id="g:4">The <code><a href="OccName.html#t:OccName">OccName</a></code> type
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:OccName" class="def">OccName</a>  </p><div class="subs instances"><p id="control.i:OccName" class="caption collapser" onclick="toggleSection('i:OccName')">Instances</p><div id="section.i:OccName" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="OccName.html#t:OccName">OccName</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> <a href="OccName.html#t:OccName">OccName</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="OccName.html#t:OccName">OccName</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="OccName.html#t:OccName">OccName</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Outputable.html#t:Outputable">Outputable</a> <a href="OccName.html#t:OccName">OccName</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Unique.html#t:Uniquable">Uniquable</a> <a href="OccName.html#t:OccName">OccName</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Binary.html#t:Binary">Binary</a> <a href="OccName.html#t:OccName">OccName</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:pprOccName" class="def">pprOccName</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><h2 id="g:5">Construction	
</h2><div class="top"><p class="src"><a name="v:mkOccName" class="def">mkOccName</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a> -&gt; <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkOccNameFS" class="def">mkOccNameFS</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a> -&gt; <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkVarOcc" class="def">mkVarOcc</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkVarOccFS" class="def">mkVarOccFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkDataOcc" class="def">mkDataOcc</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkDataOccFS" class="def">mkDataOccFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkTyVarOcc" class="def">mkTyVarOcc</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkTyVarOccFS" class="def">mkTyVarOccFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkTcOcc" class="def">mkTcOcc</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkTcOccFS" class="def">mkTcOccFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkClsOcc" class="def">mkClsOcc</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkClsOccFS" class="def">mkClsOccFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkDFunOcc" class="def">mkDFunOcc</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>Typically the class and type glommed together e.g. <code>OrdMaybe</code>.
 Only used in debug mode, for extra clarity
</p></td></tr><tr><td class="src">-&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></td><td class="doc"><p>Is this a hs-boot instance DFun?
</p></td></tr><tr><td class="src">-&gt; <a href="OccName.html#t:OccSet">OccSet</a></td><td class="doc"><p>avoid these Occs
</p></td></tr><tr><td class="src">-&gt; <a href="OccName.html#t:OccName">OccName</a></td><td class="doc"><p>E.g. <code>$f3OrdMaybe</code>
</p></td></tr></table></div></div><div class="top"><p class="src"><a name="v:mkTupleOcc" class="def">mkTupleOcc</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a> -&gt; <a href="BasicTypes.html#t:TupleSort">TupleSort</a> -&gt; <a href="BasicTypes.html#t:Arity">Arity</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:setOccNameSpace" class="def">setOccNameSpace</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:demoteOccName" class="def">demoteOccName</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="OccName.html#t:OccName">OccName</a></p></div><h2 id="g:6">Derived <code><a href="OccName.html#t:OccName">OccName</a></code>s
</h2><div class="top"><p class="src"><a name="v:isDerivedOccName" class="def">isDerivedOccName</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:mkDataConWrapperOcc" class="def">mkDataConWrapperOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkWorkerOcc" class="def">mkWorkerOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkDefaultMethodOcc" class="def">mkDefaultMethodOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkGenDefMethodOcc" class="def">mkGenDefMethodOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkDerivedTyConOcc" class="def">mkDerivedTyConOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkNewTyCoOcc" class="def">mkNewTyCoOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkClassOpAuxOcc" class="def">mkClassOpAuxOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkCon2TagOcc" class="def">mkCon2TagOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkTag2ConOcc" class="def">mkTag2ConOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkMaxTagOcc" class="def">mkMaxTagOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkClassDataConOcc" class="def">mkClassDataConOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkDictOcc" class="def">mkDictOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkIPOcc" class="def">mkIPOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkSpecOcc" class="def">mkSpecOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkForeignExportOcc" class="def">mkForeignExportOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkGenOcc1" class="def">mkGenOcc1</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkGenOcc2" class="def">mkGenOcc2</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkGenD" class="def">mkGenD</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkGenR" class="def">mkGenR</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkGenRCo" class="def">mkGenRCo</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkGenC" class="def">mkGenC</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkGenS" class="def">mkGenS</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkDataTOcc" class="def">mkDataTOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkDataCOcc" class="def">mkDataCOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkDataConWorkerOcc" class="def">mkDataConWorkerOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkSuperDictSelOcc" class="def">mkSuperDictSelOcc</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><p>Index of superclass, e.g. 3
</p></td></tr><tr><td class="src">-&gt; <a href="OccName.html#t:OccName">OccName</a></td><td class="doc"><p>Class, e.g. <code>Ord</code>
</p></td></tr><tr><td class="src">-&gt; <a href="OccName.html#t:OccName">OccName</a></td><td class="doc"><p>Derived <code>Occname</code>, e.g. <code>$p3Ord</code>
</p></td></tr></table></div></div><div class="top"><p class="src"><a name="v:mkLocalOcc" class="def">mkLocalOcc</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Unique.html#t:Unique">Unique</a></td><td class="doc"><p>Unique to combine with the <code><a href="OccName.html#t:OccName">OccName</a></code>
</p></td></tr><tr><td class="src">-&gt; <a href="OccName.html#t:OccName">OccName</a></td><td class="doc"><p>Local name, e.g. <code>sat</code>
</p></td></tr><tr><td class="src">-&gt; <a href="OccName.html#t:OccName">OccName</a></td><td class="doc"><p>Nice unique version, e.g. <code>$L23sat</code>
</p></td></tr></table></div></div><div class="top"><p class="src"><a name="v:mkMethodOcc" class="def">mkMethodOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkInstTyTcOcc" class="def">mkInstTyTcOcc</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>Family name, e.g. <code>Map</code>
</p></td></tr><tr><td class="src">-&gt; <a href="OccName.html#t:OccSet">OccSet</a></td><td class="doc"><p>avoid these Occs
</p></td></tr><tr><td class="src">-&gt; <a href="OccName.html#t:OccName">OccName</a></td><td class="doc"><pre>R:Map</pre></td></tr></table></div><div class="doc"><p>Derive a name for the representation type constructor of a
 <code>data</code>/<code>newtype</code> instance.
</p></div></div><div class="top"><p class="src"><a name="v:mkInstTyCoOcc" class="def">mkInstTyCoOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkEqPredCoOcc" class="def">mkEqPredCoOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkVectOcc" class="def">mkVectOcc</a> :: <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkVectTyConOcc" class="def">mkVectTyConOcc</a> :: <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkVectDataConOcc" class="def">mkVectDataConOcc</a> :: <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkVectIsoOcc" class="def">mkVectIsoOcc</a> :: <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkPDataTyConOcc" class="def">mkPDataTyConOcc</a> :: <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkPDataDataConOcc" class="def">mkPDataDataConOcc</a> :: <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkPDatasTyConOcc" class="def">mkPDatasTyConOcc</a> :: <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkPDatasDataConOcc" class="def">mkPDatasDataConOcc</a> :: <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkPReprTyConOcc" class="def">mkPReprTyConOcc</a> :: <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:mkPADFunOcc" class="def">mkPADFunOcc</a> :: <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a></p></div><h2 id="g:7">Deconstruction
</h2><div class="top"><p class="src"><a name="v:occNameFS" class="def">occNameFS</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="FastString.html#t:FastString">FastString</a></p></div><div class="top"><p class="src"><a name="v:occNameString" class="def">occNameString</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></p></div><div class="top"><p class="src"><a name="v:occNameSpace" class="def">occNameSpace</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:NameSpace">NameSpace</a></p></div><div class="top"><p class="src"><a name="v:isVarOcc" class="def">isVarOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:isTvOcc" class="def">isTvOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:isTcOcc" class="def">isTcOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:isDataOcc" class="def">isDataOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:isDataSymOcc" class="def">isDataSymOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p><div class="doc"><p>Test if the <code><a href="OccName.html#t:OccName">OccName</a></code> is a data constructor that starts with
 a symbol (e.g. <code>:</code>, or <code>[]</code>)
</p></div></div><div class="top"><p class="src"><a name="v:isSymOcc" class="def">isSymOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p><div class="doc"><p>Test if the <code><a href="OccName.html#t:OccName">OccName</a></code> is that for any operator (whether 
 it is a data constructor or variable or whatever)
</p></div></div><div class="top"><p class="src"><a name="v:isValOcc" class="def">isValOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p><div class="doc"><p><em>Value</em> <code>OccNames</code>s are those that are either in 
 the variable or data constructor namespaces
</p></div></div><div class="top"><p class="src"><a name="v:parenSymOcc" class="def">parenSymOcc</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p><div class="doc"><p>Wrap parens around an operator
</p></div></div><div class="top"><p class="src"><a name="v:startsWithUnderscore" class="def">startsWithUnderscore</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p><div class="doc"><p>Haskell 98 encourages compilers to suppress warnings about unsed
 names in a pattern if they start with <code>_</code>: this implements that test
</p></div></div><div class="top"><p class="src"><a name="v:isTcClsNameSpace" class="def">isTcClsNameSpace</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:isTvNameSpace" class="def">isTvNameSpace</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:isDataConNameSpace" class="def">isDataConNameSpace</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:isVarNameSpace" class="def">isVarNameSpace</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:isValNameSpace" class="def">isValNameSpace</a> :: <a href="OccName.html#t:NameSpace">NameSpace</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:isTupleOcc_maybe" class="def">isTupleOcc_maybe</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="OccName.html#t:NameSpace">NameSpace</a>, <a href="BasicTypes.html#t:TupleSort">TupleSort</a>, <a href="BasicTypes.html#t:Arity">Arity</a>)</p></div><h1 id="g:8">The <code><a href="OccName.html#t:OccEnv">OccEnv</a></code> type
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:OccEnv" class="def">OccEnv</a> a </p><div class="subs instances"><p id="control.i:OccEnv" class="caption collapser" onclick="toggleSection('i:OccEnv')">Instances</p><div id="section.i:OccEnv" class="show"><table><tr><td class="src"><a href="Outputable.html#t:Outputable">Outputable</a> a =&gt; <a href="Outputable.html#t:Outputable">Outputable</a> (<a href="OccName.html#t:OccEnv">OccEnv</a> a)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:emptyOccEnv" class="def">emptyOccEnv</a> ::  <a href="OccName.html#t:OccEnv">OccEnv</a> a</p></div><div class="top"><p class="src"><a name="v:unitOccEnv" class="def">unitOccEnv</a> ::  <a href="OccName.html#t:OccName">OccName</a> -&gt; a -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a</p></div><div class="top"><p class="src"><a name="v:extendOccEnv" class="def">extendOccEnv</a> ::  <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; a -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a</p></div><div class="top"><p class="src"><a name="v:mapOccEnv" class="def">mapOccEnv</a> ::  (a -&gt; b) -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> b</p></div><div class="top"><p class="src"><a name="v:lookupOccEnv" class="def">lookupOccEnv</a> ::  <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</p></div><div class="top"><p class="src"><a name="v:mkOccEnv" class="def">mkOccEnv</a> ::  [(<a href="OccName.html#t:OccName">OccName</a>, a)] -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a</p></div><div class="top"><p class="src"><a name="v:mkOccEnv_C" class="def">mkOccEnv_C</a> ::  (a -&gt; a -&gt; a) -&gt; [(<a href="OccName.html#t:OccName">OccName</a>, a)] -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a</p></div><div class="top"><p class="src"><a name="v:extendOccEnvList" class="def">extendOccEnvList</a> ::  <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; [(<a href="OccName.html#t:OccName">OccName</a>, a)] -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a</p></div><div class="top"><p class="src"><a name="v:elemOccEnv" class="def">elemOccEnv</a> ::  <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:occEnvElts" class="def">occEnvElts</a> ::  <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; [a]</p></div><div class="top"><p class="src"><a name="v:foldOccEnv" class="def">foldOccEnv</a> ::  (a -&gt; b -&gt; b) -&gt; b -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; b</p></div><div class="top"><p class="src"><a name="v:plusOccEnv" class="def">plusOccEnv</a> ::  <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a</p></div><div class="top"><p class="src"><a name="v:plusOccEnv_C" class="def">plusOccEnv_C</a> ::  (a -&gt; a -&gt; a) -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a</p></div><div class="top"><p class="src"><a name="v:extendOccEnv_C" class="def">extendOccEnv_C</a> ::  (a -&gt; a -&gt; a) -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; a -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a</p></div><div class="top"><p class="src"><a name="v:extendOccEnv_Acc" class="def">extendOccEnv_Acc</a> ::  (a -&gt; b -&gt; b) -&gt; (a -&gt; b) -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> b -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; a -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> b</p></div><div class="top"><p class="src"><a name="v:filterOccEnv" class="def">filterOccEnv</a> ::  (elt -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> elt -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> elt</p></div><div class="top"><p class="src"><a name="v:delListFromOccEnv" class="def">delListFromOccEnv</a> ::  <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; [<a href="OccName.html#t:OccName">OccName</a>] -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a</p></div><div class="top"><p class="src"><a name="v:delFromOccEnv" class="def">delFromOccEnv</a> ::  <a href="OccName.html#t:OccEnv">OccEnv</a> a -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccEnv">OccEnv</a> a</p></div><h1 id="g:9">The <code><a href="OccName.html#t:OccSet">OccSet</a></code> type
</h1><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:OccSet" class="def">OccSet</a> = <a href="UniqSet.html#t:UniqSet">UniqSet</a> <a href="OccName.html#t:OccName">OccName</a></p></div><div class="top"><p class="src"><a name="v:emptyOccSet" class="def">emptyOccSet</a> :: <a href="OccName.html#t:OccSet">OccSet</a></p></div><div class="top"><p class="src"><a name="v:unitOccSet" class="def">unitOccSet</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccSet">OccSet</a></p></div><div class="top"><p class="src"><a name="v:mkOccSet" class="def">mkOccSet</a> :: [<a href="OccName.html#t:OccName">OccName</a>] -&gt; <a href="OccName.html#t:OccSet">OccSet</a></p></div><div class="top"><p class="src"><a name="v:extendOccSet" class="def">extendOccSet</a> :: <a href="OccName.html#t:OccSet">OccSet</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccSet">OccSet</a></p></div><div class="top"><p class="src"><a name="v:extendOccSetList" class="def">extendOccSetList</a> :: <a href="OccName.html#t:OccSet">OccSet</a> -&gt; [<a href="OccName.html#t:OccName">OccName</a>] -&gt; <a href="OccName.html#t:OccSet">OccSet</a></p></div><div class="top"><p class="src"><a name="v:unionOccSets" class="def">unionOccSets</a> :: <a href="OccName.html#t:OccSet">OccSet</a> -&gt; <a href="OccName.html#t:OccSet">OccSet</a> -&gt; <a href="OccName.html#t:OccSet">OccSet</a></p></div><div class="top"><p class="src"><a name="v:unionManyOccSets" class="def">unionManyOccSets</a> :: [<a href="OccName.html#t:OccSet">OccSet</a>] -&gt; <a href="OccName.html#t:OccSet">OccSet</a></p></div><div class="top"><p class="src"><a name="v:minusOccSet" class="def">minusOccSet</a> :: <a href="OccName.html#t:OccSet">OccSet</a> -&gt; <a href="OccName.html#t:OccSet">OccSet</a> -&gt; <a href="OccName.html#t:OccSet">OccSet</a></p></div><div class="top"><p class="src"><a name="v:elemOccSet" class="def">elemOccSet</a> :: <a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccSet">OccSet</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:occSetElts" class="def">occSetElts</a> :: <a href="OccName.html#t:OccSet">OccSet</a> -&gt; [<a href="OccName.html#t:OccName">OccName</a>]</p></div><div class="top"><p class="src"><a name="v:foldOccSet" class="def">foldOccSet</a> ::  (<a href="OccName.html#t:OccName">OccName</a> -&gt; b -&gt; b) -&gt; b -&gt; <a href="OccName.html#t:OccSet">OccSet</a> -&gt; b</p></div><div class="top"><p class="src"><a name="v:isEmptyOccSet" class="def">isEmptyOccSet</a> :: <a href="OccName.html#t:OccSet">OccSet</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:intersectOccSet" class="def">intersectOccSet</a> :: <a href="OccName.html#t:OccSet">OccSet</a> -&gt; <a href="OccName.html#t:OccSet">OccSet</a> -&gt; <a href="OccName.html#t:OccSet">OccSet</a></p></div><div class="top"><p class="src"><a name="v:intersectsOccSet" class="def">intersectsOccSet</a> :: <a href="OccName.html#t:OccSet">OccSet</a> -&gt; <a href="OccName.html#t:OccSet">OccSet</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><h1 id="g:10">Tidying up
</h1><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:TidyOccEnv" class="def">TidyOccEnv</a> = <a href="OccName.html#t:OccEnv">OccEnv</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></p></div><div class="top"><p class="src"><a name="v:emptyTidyOccEnv" class="def">emptyTidyOccEnv</a> :: <a href="OccName.html#t:TidyOccEnv">TidyOccEnv</a></p></div><div class="top"><p class="src"><a name="v:tidyOccName" class="def">tidyOccName</a> :: <a href="OccName.html#t:TidyOccEnv">TidyOccEnv</a> -&gt; <a href="OccName.html#t:OccName">OccName</a> -&gt; (<a href="OccName.html#t:TidyOccEnv">TidyOccEnv</a>, <a href="OccName.html#t:OccName">OccName</a>)</p></div><div class="top"><p class="src"><a name="v:initTidyOccEnv" class="def">initTidyOccEnv</a> :: [<a href="OccName.html#t:OccName">OccName</a>] -&gt; <a href="OccName.html#t:TidyOccEnv">TidyOccEnv</a></p></div><h1 id="g:11">Lexical characteristics of Haskell names
</h1><div class="top"><p class="src"><a name="v:isLexCon" class="def">isLexCon</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:isLexVar" class="def">isLexVar</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:isLexId" class="def">isLexId</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:isLexSym" class="def">isLexSym</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:isLexConId" class="def">isLexConId</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:isLexConSym" class="def">isLexConSym</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:isLexVarId" class="def">isLexVarId</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:isLexVarSym" class="def">isLexVarSym</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:startsVarSym" class="def">startsVarSym</a> :: <a href="../base-4.5.1.0/Data-Char.html#t:Char">Char</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:startsVarId" class="def">startsVarId</a> :: <a href="../base-4.5.1.0/Data-Char.html#t:Char">Char</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:startsConSym" class="def">startsConSym</a> :: <a href="../base-4.5.1.0/Data-Char.html#t:Char">Char</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:startsConId" class="def">startsConId</a> :: <a href="../base-4.5.1.0/Data-Char.html#t:Char">Char</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.11.0</p></div></body></html>