Sophie

Sophie

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

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>TcEnv</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_TcEnv.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">TcEnv</p></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:TyThing">TyThing</a> <ul class="subs"><li>= <a href="#v:AnId">AnId</a> <a href="Var.html#t:Id">Id</a>  </li><li>| <a href="#v:ADataCon">ADataCon</a> <a href="DataCon.html#t:DataCon">DataCon</a>  </li><li>| <a href="#v:ATyCon">ATyCon</a> <a href="TyCon.html#t:TyCon">TyCon</a>  </li><li>| <a href="#v:ACoAxiom">ACoAxiom</a> <a href="TyCon.html#t:CoAxiom">CoAxiom</a>  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:TcTyThing">TcTyThing</a> <ul class="subs"><li>= <a href="#v:AGlobal">AGlobal</a> <a href="TcEnv.html#t:TyThing">TyThing</a>  </li><li>| <a href="#v:ATcId">ATcId</a> { <ul class="subs"><li><a href="#v:tct_id">tct_id</a> :: <a href="TcEnv.html#t:TcId">TcId</a></li><li><a href="#v:tct_closed">tct_closed</a> :: <a href="BasicTypes.html#t:TopLevelFlag">TopLevelFlag</a></li><li><a href="#v:tct_level">tct_level</a> :: <a href="TcRnTypes.html#t:ThLevel">ThLevel</a></li></ul> }</li><li>| <a href="#v:ATyVar">ATyVar</a> <a href="Name.html#t:Name">Name</a> <a href="TcType.html#t:TcType">TcType</a>  </li><li>| <a href="#v:AThing">AThing</a> <a href="TcType.html#t:TcKind">TcKind</a>  </li><li>| <a href="#v:ANothing">ANothing</a>  </li></ul></li><li class="src short"><span class="keyword">type</span> <a href="#t:TcId">TcId</a> = <a href="Var.html#t:Id">Id</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:InstInfo">InstInfo</a> a = <a href="#v:InstInfo">InstInfo</a> {<ul class="subs"><li><a href="#v:iSpec">iSpec</a> :: <a href="InstEnv.html#t:Instance">Instance</a></li><li><a href="#v:iBinds">iBinds</a> :: <a href="TcEnv.html#t:InstBindings">InstBindings</a> a</li></ul>}</li><li class="src short"><a href="#v:iDFunId">iDFunId</a> ::  <a href="TcEnv.html#t:InstInfo">InstInfo</a> a -&gt; <a href="Var.html#t:DFunId">DFunId</a></li><li class="src short"><a href="#v:pprInstInfo">pprInstInfo</a> ::  <a href="TcEnv.html#t:InstInfo">InstInfo</a> a -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:pprInstInfoDetails">pprInstInfoDetails</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> a =&gt; <a href="TcEnv.html#t:InstInfo">InstInfo</a> a -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:simpleInstInfoClsTy">simpleInstInfoClsTy</a> ::  <a href="TcEnv.html#t:InstInfo">InstInfo</a> a -&gt; (<a href="Class.html#t:Class">Class</a>, <a href="Type.html#t:Type">Type</a>)</li><li class="src short"><a href="#v:simpleInstInfoTy">simpleInstInfoTy</a> ::  <a href="TcEnv.html#t:InstInfo">InstInfo</a> a -&gt; <a href="Type.html#t:Type">Type</a></li><li class="src short"><a href="#v:simpleInstInfoTyCon">simpleInstInfoTyCon</a> ::  <a href="TcEnv.html#t:InstInfo">InstInfo</a> a -&gt; <a href="TyCon.html#t:TyCon">TyCon</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:InstBindings">InstBindings</a> a<ul class="subs"><li>= <a href="#v:VanillaInst">VanillaInst</a> (<a href="HsBinds.html#t:LHsBinds">LHsBinds</a> a) [<a href="HsBinds.html#t:LSig">LSig</a> a] <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>  </li><li>| <a href="#v:NewTypeDerived">NewTypeDerived</a> <a href="TcEvidence.html#t:TcCoercion">TcCoercion</a> <a href="TyCon.html#t:TyCon">TyCon</a>  </li></ul></li><li class="src short"><a href="#v:tcExtendGlobalEnv">tcExtendGlobalEnv</a> ::  [<a href="TcEnv.html#t:TyThing">TyThing</a>] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r</li><li class="src short"><a href="#v:tcExtendGlobalEnvImplicit">tcExtendGlobalEnvImplicit</a> ::  [<a href="TcEnv.html#t:TyThing">TyThing</a>] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r</li><li class="src short"><a href="#v:setGlobalTypeEnv">setGlobalTypeEnv</a> :: <a href="TcRnTypes.html#t:TcGblEnv">TcGblEnv</a> -&gt; <a href="HscTypes.html#t:TypeEnv">TypeEnv</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="TcRnTypes.html#t:TcGblEnv">TcGblEnv</a></li><li class="src short"><a href="#v:tcExtendGlobalValEnv">tcExtendGlobalValEnv</a> ::  [<a href="Var.html#t:Id">Id</a>] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a</li><li class="src short"><a href="#v:tcLookupLocatedGlobal">tcLookupLocatedGlobal</a> :: <a href="SrcLoc.html#t:Located">Located</a> <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="TcEnv.html#t:TyThing">TyThing</a></li><li class="src short"><a href="#v:tcLookupGlobal">tcLookupGlobal</a> :: <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="TcEnv.html#t:TyThing">TyThing</a></li><li class="src short"><a href="#v:tcLookupField">tcLookupField</a> :: <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="Var.html#t:Id">Id</a></li><li class="src short"><a href="#v:tcLookupTyCon">tcLookupTyCon</a> :: <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="TyCon.html#t:TyCon">TyCon</a></li><li class="src short"><a href="#v:tcLookupClass">tcLookupClass</a> :: <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="Class.html#t:Class">Class</a></li><li class="src short"><a href="#v:tcLookupDataCon">tcLookupDataCon</a> :: <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="DataCon.html#t:DataCon">DataCon</a></li><li class="src short"><a href="#v:tcLookupLocatedGlobalId">tcLookupLocatedGlobalId</a> :: <a href="SrcLoc.html#t:Located">Located</a> <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="Var.html#t:Id">Id</a></li><li class="src short"><a href="#v:tcLookupLocatedTyCon">tcLookupLocatedTyCon</a> :: <a href="SrcLoc.html#t:Located">Located</a> <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="TyCon.html#t:TyCon">TyCon</a></li><li class="src short"><a href="#v:tcLookupLocatedClass">tcLookupLocatedClass</a> :: <a href="SrcLoc.html#t:Located">Located</a> <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="Class.html#t:Class">Class</a></li><li class="src short"><a href="#v:tcLookupInstance">tcLookupInstance</a> :: <a href="Class.html#t:Class">Class</a> -&gt; [<a href="Type.html#t:Type">Type</a>] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="InstEnv.html#t:Instance">Instance</a></li><li class="src short"><a href="#v:tcExtendKindEnv">tcExtendKindEnv</a> ::  [(<a href="Name.html#t:Name">Name</a>, <a href="TcType.html#t:TcKind">TcKind</a>)] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r</li><li class="src short"><a href="#v:tcExtendKindEnvTvs">tcExtendKindEnvTvs</a> ::  [<a href="HsTypes.html#t:LHsTyVarBndr">LHsTyVarBndr</a> <a href="Name.html#t:Name">Name</a>] -&gt; ([<a href="HsTypes.html#t:LHsTyVarBndr">LHsTyVarBndr</a> <a href="Name.html#t:Name">Name</a>] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r) -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r</li><li class="src short"><a href="#v:tcExtendTcTyThingEnv">tcExtendTcTyThingEnv</a> ::  [(<a href="Name.html#t:Name">Name</a>, <a href="TcEnv.html#t:TcTyThing">TcTyThing</a>)] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r</li><li class="src short"><a href="#v:tcExtendTyVarEnv">tcExtendTyVarEnv</a> ::  [<a href="Var.html#t:TyVar">TyVar</a>] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r</li><li class="src short"><a href="#v:tcExtendTyVarEnv2">tcExtendTyVarEnv2</a> ::  [(<a href="Name.html#t:Name">Name</a>, <a href="TcType.html#t:TcType">TcType</a>)] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r</li><li class="src short"><a href="#v:tcExtendGhciEnv">tcExtendGhciEnv</a> ::  [<a href="TcEnv.html#t:TcId">TcId</a>] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a</li><li class="src short"><a href="#v:tcExtendLetEnv">tcExtendLetEnv</a> ::  <a href="BasicTypes.html#t:TopLevelFlag">TopLevelFlag</a> -&gt; [<a href="TcEnv.html#t:TcId">TcId</a>] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a</li><li class="src short"><a href="#v:tcExtendIdEnv">tcExtendIdEnv</a> ::  [<a href="TcEnv.html#t:TcId">TcId</a>] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a</li><li class="src short"><a href="#v:tcExtendIdEnv1">tcExtendIdEnv1</a> ::  <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcEnv.html#t:TcId">TcId</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a</li><li class="src short"><a href="#v:tcExtendIdEnv2">tcExtendIdEnv2</a> ::  [(<a href="Name.html#t:Name">Name</a>, <a href="TcEnv.html#t:TcId">TcId</a>)] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a</li><li class="src short"><a href="#v:tcLookup">tcLookup</a> :: <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="TcEnv.html#t:TcTyThing">TcTyThing</a></li><li class="src short"><a href="#v:tcLookupLocated">tcLookupLocated</a> :: <a href="SrcLoc.html#t:Located">Located</a> <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="TcEnv.html#t:TcTyThing">TcTyThing</a></li><li class="src short"><a href="#v:tcLookupLocalIds">tcLookupLocalIds</a> :: [<a href="Name.html#t:Name">Name</a>] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> [<a href="TcEnv.html#t:TcId">TcId</a>]</li><li class="src short"><a href="#v:tcLookupId">tcLookupId</a> :: <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="Var.html#t:Id">Id</a></li><li class="src short"><a href="#v:tcLookupTyVar">tcLookupTyVar</a> :: <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="TcType.html#t:TcTyVar">TcTyVar</a></li><li class="src short"><a href="#v:getScopedTyVarBinds">getScopedTyVarBinds</a> :: <a href="TcRnTypes.html#t:TcM">TcM</a> [(<a href="Name.html#t:Name">Name</a>, <a href="TcType.html#t:TcType">TcType</a>)]</li><li class="src short"><a href="#v:getInLocalScope">getInLocalScope</a> :: <a href="TcRnTypes.html#t:TcM">TcM</a> (<a href="Name.html#t:Name">Name</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>)</li><li class="src short"><a href="#v:wrongThingErr">wrongThingErr</a> ::  <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="TcEnv.html#t:TcTyThing">TcTyThing</a> -&gt; <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a</li><li class="src short"><a href="#v:pprBinders">pprBinders</a> :: [<a href="Name.html#t:Name">Name</a>] -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:tcExtendRecEnv">tcExtendRecEnv</a> ::  [(<a href="Name.html#t:Name">Name</a>, <a href="TcEnv.html#t:TyThing">TyThing</a>)] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r</li><li class="src short"><a href="#v:tcExtendRules">tcExtendRules</a> ::  [<a href="HsDecls.html#t:LRuleDecl">LRuleDecl</a> <a href="Var.html#t:Id">Id</a>] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a</li><li class="src short"><a href="#v:tcGetDefaultTys">tcGetDefaultTys</a> :: <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> ([<a href="Type.html#t:Type">Type</a>], (<a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>, <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>))</li><li class="src short"><a href="#v:tcGetGlobalTyVars">tcGetGlobalTyVars</a> :: <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="TcType.html#t:TcTyVarSet">TcTyVarSet</a></li><li class="src short"><a href="#v:zapLclTypeEnv">zapLclTypeEnv</a> ::  <a href="TcRnTypes.html#t:TcM">TcM</a> a -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a</li><li class="src short"><a href="#v:checkWellStaged">checkWellStaged</a> :: <a href="Outputable.html#t:SDoc">SDoc</a> -&gt; <a href="TcRnTypes.html#t:ThLevel">ThLevel</a> -&gt; <a href="TcRnTypes.html#t:ThLevel">ThLevel</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> ()</li><li class="src short"><a href="#v:tcMetaTy">tcMetaTy</a> :: <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="Type.html#t:Type">Type</a></li><li class="src short"><a href="#v:thLevel">thLevel</a> :: <a href="TcRnTypes.html#t:ThStage">ThStage</a> -&gt; <a href="TcRnTypes.html#t:ThLevel">ThLevel</a></li><li class="src short"><a href="#v:topIdLvl">topIdLvl</a> :: <a href="Var.html#t:Id">Id</a> -&gt; <a href="TcRnTypes.html#t:ThLevel">ThLevel</a></li><li class="src short"><a href="#v:thTopLevelId">thTopLevelId</a> :: <a href="Var.html#t:Id">Id</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:thRnBrack">thRnBrack</a> :: <a href="TcRnTypes.html#t:ThStage">ThStage</a></li><li class="src short"><a href="#v:isBrackStage">isBrackStage</a> :: <a href="TcRnTypes.html#t:ThStage">ThStage</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:newLocalName">newLocalName</a> ::  <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcRnIf">TcRnIf</a> gbl lcl <a href="Name.html#t:Name">Name</a></li><li class="src short"><a href="#v:newDFunName">newDFunName</a> :: <a href="Class.html#t:Class">Class</a> -&gt; [<a href="Type.html#t:Type">Type</a>] -&gt; <a href="SrcLoc.html#t:SrcSpan">SrcSpan</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="Name.html#t:Name">Name</a></li><li class="src short"><a href="#v:newFamInstTyConName">newFamInstTyConName</a> :: <a href="SrcLoc.html#t:Located">Located</a> <a href="Name.html#t:Name">Name</a> -&gt; [<a href="Type.html#t:Type">Type</a>] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="Name.html#t:Name">Name</a></li><li class="src short"><a href="#v:mkStableIdFromString">mkStableIdFromString</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="Type.html#t:Type">Type</a> -&gt; <a href="SrcLoc.html#t:SrcSpan">SrcSpan</a> -&gt; (<a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a>) -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="TcEnv.html#t:TcId">TcId</a></li><li class="src short"><a href="#v:mkStableIdFromName">mkStableIdFromName</a> :: <a href="Name.html#t:Name">Name</a> -&gt; <a href="Type.html#t:Type">Type</a> -&gt; <a href="SrcLoc.html#t:SrcSpan">SrcSpan</a> -&gt; (<a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a>) -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="TcEnv.html#t:TcId">TcId</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:TyThing" class="def">TyThing</a>  </p><div class="doc"><p>A typecheckable-thing, essentially anything that has a name
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:AnId" class="def">AnId</a> <a href="Var.html#t:Id">Id</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ADataCon" class="def">ADataCon</a> <a href="DataCon.html#t:DataCon">DataCon</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ATyCon" class="def">ATyCon</a> <a href="TyCon.html#t:TyCon">TyCon</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ACoAxiom" class="def">ACoAxiom</a> <a href="TyCon.html#t:CoAxiom">CoAxiom</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:TyThing" class="caption collapser" onclick="toggleSection('i:TyThing')">Instances</p><div id="section.i:TyThing" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="TcEnv.html#t:TyThing">TyThing</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="TcEnv.html#t:TyThing">TyThing</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Outputable.html#t:Outputable">Outputable</a> <a href="TcEnv.html#t:TyThing">TyThing</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Name.html#t:NamedThing">NamedThing</a> <a href="TcEnv.html#t:TyThing">TyThing</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:TcTyThing" class="def">TcTyThing</a>  </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:AGlobal" class="def">AGlobal</a> <a href="TcEnv.html#t:TyThing">TyThing</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ATcId" class="def">ATcId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:tct_id" class="def">tct_id</a> :: <a href="TcEnv.html#t:TcId">TcId</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:tct_closed" class="def">tct_closed</a> :: <a href="BasicTypes.html#t:TopLevelFlag">TopLevelFlag</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:tct_level" class="def">tct_level</a> :: <a href="TcRnTypes.html#t:ThLevel">ThLevel</a></dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:ATyVar" class="def">ATyVar</a> <a href="Name.html#t:Name">Name</a> <a href="TcType.html#t:TcType">TcType</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:AThing" class="def">AThing</a> <a href="TcType.html#t:TcKind">TcKind</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ANothing" class="def">ANothing</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:TcTyThing" class="caption collapser" onclick="toggleSection('i:TcTyThing')">Instances</p><div id="section.i:TcTyThing" class="show"><table><tr><td class="src"><a href="Outputable.html#t:Outputable">Outputable</a> <a href="TcEnv.html#t:TcTyThing">TcTyThing</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:TcId" class="def">TcId</a> = <a href="Var.html#t:Id">Id</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:InstInfo" class="def">InstInfo</a> a </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:InstInfo" class="def">InstInfo</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:iSpec" class="def">iSpec</a> :: <a href="InstEnv.html#t:Instance">Instance</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:iBinds" class="def">iBinds</a> :: <a href="TcEnv.html#t:InstBindings">InstBindings</a> a</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div></div><div class="top"><p class="src"><a name="v:iDFunId" class="def">iDFunId</a> ::  <a href="TcEnv.html#t:InstInfo">InstInfo</a> a -&gt; <a href="Var.html#t:DFunId">DFunId</a></p></div><div class="top"><p class="src"><a name="v:pprInstInfo" class="def">pprInstInfo</a> ::  <a href="TcEnv.html#t:InstInfo">InstInfo</a> a -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:pprInstInfoDetails" class="def">pprInstInfoDetails</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> a =&gt; <a href="TcEnv.html#t:InstInfo">InstInfo</a> a -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:simpleInstInfoClsTy" class="def">simpleInstInfoClsTy</a> ::  <a href="TcEnv.html#t:InstInfo">InstInfo</a> a -&gt; (<a href="Class.html#t:Class">Class</a>, <a href="Type.html#t:Type">Type</a>)</p></div><div class="top"><p class="src"><a name="v:simpleInstInfoTy" class="def">simpleInstInfoTy</a> ::  <a href="TcEnv.html#t:InstInfo">InstInfo</a> a -&gt; <a href="Type.html#t:Type">Type</a></p></div><div class="top"><p class="src"><a name="v:simpleInstInfoTyCon" class="def">simpleInstInfoTyCon</a> ::  <a href="TcEnv.html#t:InstInfo">InstInfo</a> a -&gt; <a href="TyCon.html#t:TyCon">TyCon</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:InstBindings" class="def">InstBindings</a> a </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:VanillaInst" class="def">VanillaInst</a> (<a href="HsBinds.html#t:LHsBinds">LHsBinds</a> a) [<a href="HsBinds.html#t:LSig">LSig</a> a] <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NewTypeDerived" class="def">NewTypeDerived</a> <a href="TcEvidence.html#t:TcCoercion">TcCoercion</a> <a href="TyCon.html#t:TyCon">TyCon</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><a name="v:tcExtendGlobalEnv" class="def">tcExtendGlobalEnv</a> ::  [<a href="TcEnv.html#t:TyThing">TyThing</a>] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r</p></div><div class="top"><p class="src"><a name="v:tcExtendGlobalEnvImplicit" class="def">tcExtendGlobalEnvImplicit</a> ::  [<a href="TcEnv.html#t:TyThing">TyThing</a>] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r</p></div><div class="top"><p class="src"><a name="v:setGlobalTypeEnv" class="def">setGlobalTypeEnv</a> :: <a href="TcRnTypes.html#t:TcGblEnv">TcGblEnv</a> -&gt; <a href="HscTypes.html#t:TypeEnv">TypeEnv</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="TcRnTypes.html#t:TcGblEnv">TcGblEnv</a></p></div><div class="top"><p class="src"><a name="v:tcExtendGlobalValEnv" class="def">tcExtendGlobalValEnv</a> ::  [<a href="Var.html#t:Id">Id</a>] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a</p></div><div class="top"><p class="src"><a name="v:tcLookupLocatedGlobal" class="def">tcLookupLocatedGlobal</a> :: <a href="SrcLoc.html#t:Located">Located</a> <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="TcEnv.html#t:TyThing">TyThing</a></p></div><div class="top"><p class="src"><a name="v:tcLookupGlobal" class="def">tcLookupGlobal</a> :: <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="TcEnv.html#t:TyThing">TyThing</a></p></div><div class="top"><p class="src"><a name="v:tcLookupField" class="def">tcLookupField</a> :: <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="Var.html#t:Id">Id</a></p></div><div class="top"><p class="src"><a name="v:tcLookupTyCon" class="def">tcLookupTyCon</a> :: <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="TyCon.html#t:TyCon">TyCon</a></p></div><div class="top"><p class="src"><a name="v:tcLookupClass" class="def">tcLookupClass</a> :: <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="Class.html#t:Class">Class</a></p></div><div class="top"><p class="src"><a name="v:tcLookupDataCon" class="def">tcLookupDataCon</a> :: <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="DataCon.html#t:DataCon">DataCon</a></p></div><div class="top"><p class="src"><a name="v:tcLookupLocatedGlobalId" class="def">tcLookupLocatedGlobalId</a> :: <a href="SrcLoc.html#t:Located">Located</a> <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="Var.html#t:Id">Id</a></p></div><div class="top"><p class="src"><a name="v:tcLookupLocatedTyCon" class="def">tcLookupLocatedTyCon</a> :: <a href="SrcLoc.html#t:Located">Located</a> <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="TyCon.html#t:TyCon">TyCon</a></p></div><div class="top"><p class="src"><a name="v:tcLookupLocatedClass" class="def">tcLookupLocatedClass</a> :: <a href="SrcLoc.html#t:Located">Located</a> <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="Class.html#t:Class">Class</a></p></div><div class="top"><p class="src"><a name="v:tcLookupInstance" class="def">tcLookupInstance</a> :: <a href="Class.html#t:Class">Class</a> -&gt; [<a href="Type.html#t:Type">Type</a>] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="InstEnv.html#t:Instance">Instance</a></p></div><div class="top"><p class="src"><a name="v:tcExtendKindEnv" class="def">tcExtendKindEnv</a> ::  [(<a href="Name.html#t:Name">Name</a>, <a href="TcType.html#t:TcKind">TcKind</a>)] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r</p></div><div class="top"><p class="src"><a name="v:tcExtendKindEnvTvs" class="def">tcExtendKindEnvTvs</a> ::  [<a href="HsTypes.html#t:LHsTyVarBndr">LHsTyVarBndr</a> <a href="Name.html#t:Name">Name</a>] -&gt; ([<a href="HsTypes.html#t:LHsTyVarBndr">LHsTyVarBndr</a> <a href="Name.html#t:Name">Name</a>] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r) -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r</p></div><div class="top"><p class="src"><a name="v:tcExtendTcTyThingEnv" class="def">tcExtendTcTyThingEnv</a> ::  [(<a href="Name.html#t:Name">Name</a>, <a href="TcEnv.html#t:TcTyThing">TcTyThing</a>)] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r</p></div><div class="top"><p class="src"><a name="v:tcExtendTyVarEnv" class="def">tcExtendTyVarEnv</a> ::  [<a href="Var.html#t:TyVar">TyVar</a>] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r</p></div><div class="top"><p class="src"><a name="v:tcExtendTyVarEnv2" class="def">tcExtendTyVarEnv2</a> ::  [(<a href="Name.html#t:Name">Name</a>, <a href="TcType.html#t:TcType">TcType</a>)] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r</p></div><div class="top"><p class="src"><a name="v:tcExtendGhciEnv" class="def">tcExtendGhciEnv</a> ::  [<a href="TcEnv.html#t:TcId">TcId</a>] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a</p></div><div class="top"><p class="src"><a name="v:tcExtendLetEnv" class="def">tcExtendLetEnv</a> ::  <a href="BasicTypes.html#t:TopLevelFlag">TopLevelFlag</a> -&gt; [<a href="TcEnv.html#t:TcId">TcId</a>] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a</p></div><div class="top"><p class="src"><a name="v:tcExtendIdEnv" class="def">tcExtendIdEnv</a> ::  [<a href="TcEnv.html#t:TcId">TcId</a>] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a</p></div><div class="top"><p class="src"><a name="v:tcExtendIdEnv1" class="def">tcExtendIdEnv1</a> ::  <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcEnv.html#t:TcId">TcId</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a</p></div><div class="top"><p class="src"><a name="v:tcExtendIdEnv2" class="def">tcExtendIdEnv2</a> ::  [(<a href="Name.html#t:Name">Name</a>, <a href="TcEnv.html#t:TcId">TcId</a>)] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a</p></div><div class="top"><p class="src"><a name="v:tcLookup" class="def">tcLookup</a> :: <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="TcEnv.html#t:TcTyThing">TcTyThing</a></p></div><div class="top"><p class="src"><a name="v:tcLookupLocated" class="def">tcLookupLocated</a> :: <a href="SrcLoc.html#t:Located">Located</a> <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="TcEnv.html#t:TcTyThing">TcTyThing</a></p></div><div class="top"><p class="src"><a name="v:tcLookupLocalIds" class="def">tcLookupLocalIds</a> :: [<a href="Name.html#t:Name">Name</a>] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> [<a href="TcEnv.html#t:TcId">TcId</a>]</p></div><div class="top"><p class="src"><a name="v:tcLookupId" class="def">tcLookupId</a> :: <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="Var.html#t:Id">Id</a></p></div><div class="top"><p class="src"><a name="v:tcLookupTyVar" class="def">tcLookupTyVar</a> :: <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="TcType.html#t:TcTyVar">TcTyVar</a></p></div><div class="top"><p class="src"><a name="v:getScopedTyVarBinds" class="def">getScopedTyVarBinds</a> :: <a href="TcRnTypes.html#t:TcM">TcM</a> [(<a href="Name.html#t:Name">Name</a>, <a href="TcType.html#t:TcType">TcType</a>)]</p></div><div class="top"><p class="src"><a name="v:getInLocalScope" class="def">getInLocalScope</a> :: <a href="TcRnTypes.html#t:TcM">TcM</a> (<a href="Name.html#t:Name">Name</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:wrongThingErr" class="def">wrongThingErr</a> ::  <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="TcEnv.html#t:TcTyThing">TcTyThing</a> -&gt; <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a</p></div><div class="top"><p class="src"><a name="v:pprBinders" class="def">pprBinders</a> :: [<a href="Name.html#t:Name">Name</a>] -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:tcExtendRecEnv" class="def">tcExtendRecEnv</a> ::  [(<a href="Name.html#t:Name">Name</a>, <a href="TcEnv.html#t:TyThing">TyThing</a>)] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> r</p></div><div class="top"><p class="src"><a name="v:tcExtendRules" class="def">tcExtendRules</a> ::  [<a href="HsDecls.html#t:LRuleDecl">LRuleDecl</a> <a href="Var.html#t:Id">Id</a>] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a</p></div><div class="top"><p class="src"><a name="v:tcGetDefaultTys" class="def">tcGetDefaultTys</a> :: <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> ([<a href="Type.html#t:Type">Type</a>], (<a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>, <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:tcGetGlobalTyVars" class="def">tcGetGlobalTyVars</a> :: <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="TcType.html#t:TcTyVarSet">TcTyVarSet</a></p></div><div class="top"><p class="src"><a name="v:zapLclTypeEnv" class="def">zapLclTypeEnv</a> ::  <a href="TcRnTypes.html#t:TcM">TcM</a> a -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> a</p></div><div class="top"><p class="src"><a name="v:checkWellStaged" class="def">checkWellStaged</a> :: <a href="Outputable.html#t:SDoc">SDoc</a> -&gt; <a href="TcRnTypes.html#t:ThLevel">ThLevel</a> -&gt; <a href="TcRnTypes.html#t:ThLevel">ThLevel</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> ()</p></div><div class="top"><p class="src"><a name="v:tcMetaTy" class="def">tcMetaTy</a> :: <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="Type.html#t:Type">Type</a></p></div><div class="top"><p class="src"><a name="v:thLevel" class="def">thLevel</a> :: <a href="TcRnTypes.html#t:ThStage">ThStage</a> -&gt; <a href="TcRnTypes.html#t:ThLevel">ThLevel</a></p></div><div class="top"><p class="src"><a name="v:topIdLvl" class="def">topIdLvl</a> :: <a href="Var.html#t:Id">Id</a> -&gt; <a href="TcRnTypes.html#t:ThLevel">ThLevel</a></p></div><div class="top"><p class="src"><a name="v:thTopLevelId" class="def">thTopLevelId</a> :: <a href="Var.html#t:Id">Id</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:thRnBrack" class="def">thRnBrack</a> :: <a href="TcRnTypes.html#t:ThStage">ThStage</a></p></div><div class="top"><p class="src"><a name="v:isBrackStage" class="def">isBrackStage</a> :: <a href="TcRnTypes.html#t:ThStage">ThStage</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:newLocalName" class="def">newLocalName</a> ::  <a href="Name.html#t:Name">Name</a> -&gt; <a href="TcRnTypes.html#t:TcRnIf">TcRnIf</a> gbl lcl <a href="Name.html#t:Name">Name</a></p></div><div class="top"><p class="src"><a name="v:newDFunName" class="def">newDFunName</a> :: <a href="Class.html#t:Class">Class</a> -&gt; [<a href="Type.html#t:Type">Type</a>] -&gt; <a href="SrcLoc.html#t:SrcSpan">SrcSpan</a> -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="Name.html#t:Name">Name</a></p></div><div class="top"><p class="src"><a name="v:newFamInstTyConName" class="def">newFamInstTyConName</a> :: <a href="SrcLoc.html#t:Located">Located</a> <a href="Name.html#t:Name">Name</a> -&gt; [<a href="Type.html#t:Type">Type</a>] -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="Name.html#t:Name">Name</a></p></div><div class="top"><p class="src"><a name="v:mkStableIdFromString" class="def">mkStableIdFromString</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="Type.html#t:Type">Type</a> -&gt; <a href="SrcLoc.html#t:SrcSpan">SrcSpan</a> -&gt; (<a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a>) -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="TcEnv.html#t:TcId">TcId</a></p></div><div class="top"><p class="src"><a name="v:mkStableIdFromName" class="def">mkStableIdFromName</a> :: <a href="Name.html#t:Name">Name</a> -&gt; <a href="Type.html#t:Type">Type</a> -&gt; <a href="SrcLoc.html#t:SrcSpan">SrcSpan</a> -&gt; (<a href="OccName.html#t:OccName">OccName</a> -&gt; <a href="OccName.html#t:OccName">OccName</a>) -&gt; <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="TcEnv.html#t:TcId">TcId</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>