Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 1f2b142b9d2ef4849a6f5316fa1c5b12 > files > 1941

ghc-6.10.4-1mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
><TITLE
>Inst</TITLE
><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
></SCRIPT
><SCRIPT TYPE="text/javascript"
>window.onload = function () {setSynopsis("mini_Inst.html")};</SCRIPT
></HEAD
><BODY
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topbar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
></TD
><TD CLASS="title"
>ghc-6.10.4: The GHC API</TD
><TD CLASS="topbut"
><A HREF="index.html"
>Contents</A
></TD
><TD CLASS="topbut"
><A HREF="doc-index.html"
>Index</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="modulebar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><FONT SIZE="6"
>Inst</FONT
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Synopsis</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AInst"
>Inst</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApprInstances"
>pprInstances</A
> :: [<A HREF="InstEnv.html#t%3AInstance"
>Instance</A
>] -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApprDictsTheta"
>pprDictsTheta</A
> :: [<A HREF="Inst.html#t%3AInst"
>Inst</A
>] -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApprDictsInFull"
>pprDictsInFull</A
> :: [<A HREF="Inst.html#t%3AInst"
>Inst</A
>] -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AshowLIE"
>showLIE</A
> :: <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApprInst"
>pprInst</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApprInsts"
>pprInsts</A
> :: [<A HREF="Inst.html#t%3AInst"
>Inst</A
>] -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApprInstInFull"
>pprInstInFull</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtidyInsts"
>tidyInsts</A
> :: [<A HREF="Inst.html#t%3AInst"
>Inst</A
>] -&gt; (<A HREF="VarEnv.html#t%3ATidyEnv"
>TidyEnv</A
>, [<A HREF="Inst.html#t%3AInst"
>Inst</A
>])</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtidyMoreInsts"
>tidyMoreInsts</A
> :: <A HREF="VarEnv.html#t%3ATidyEnv"
>TidyEnv</A
> -&gt; [<A HREF="Inst.html#t%3AInst"
>Inst</A
>] -&gt; (<A HREF="VarEnv.html#t%3ATidyEnv"
>TidyEnv</A
>, [<A HREF="Inst.html#t%3AInst"
>Inst</A
>])</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnewDictBndr"
>newDictBndr</A
> :: <A HREF="Inst.html#t%3AInstLoc"
>InstLoc</A
> -&gt; <A HREF="TcType.html#t%3ATcPredType"
>TcPredType</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="Inst.html#t%3AInst"
>Inst</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnewDictBndrs"
>newDictBndrs</A
> :: <A HREF="Inst.html#t%3AInstLoc"
>InstLoc</A
> -&gt; <A HREF="TcType.html#t%3ATcThetaType"
>TcThetaType</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> [<A HREF="Inst.html#t%3AInst"
>Inst</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnewDictBndrsO"
>newDictBndrsO</A
> :: <A HREF="Inst.html#t%3AInstOrigin"
>InstOrigin</A
> -&gt; <A HREF="TcType.html#t%3ATcThetaType"
>TcThetaType</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> [<A HREF="Inst.html#t%3AInst"
>Inst</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnewDictOccs"
>newDictOccs</A
> :: <A HREF="Inst.html#t%3AInstLoc"
>InstLoc</A
> -&gt; <A HREF="TcType.html#t%3ATcThetaType"
>TcThetaType</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> [<A HREF="Inst.html#t%3AInst"
>Inst</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnewDictOcc"
>newDictOcc</A
> :: <A HREF="Inst.html#t%3AInstLoc"
>InstLoc</A
> -&gt; <A HREF="TcType.html#t%3ATcPredType"
>TcPredType</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="Inst.html#t%3AInst"
>Inst</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AinstCall"
>instCall</A
> :: <A HREF="Inst.html#t%3AInstOrigin"
>InstOrigin</A
> -&gt; [<A HREF="TcType.html#t%3ATcType"
>TcType</A
>] -&gt; <A HREF="TcType.html#t%3ATcThetaType"
>TcThetaType</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="HsBinds.html#t%3AHsWrapper"
>HsWrapper</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AinstStupidTheta"
>instStupidTheta</A
> :: <A HREF="Inst.html#t%3AInstOrigin"
>InstOrigin</A
> -&gt; <A HREF="TcType.html#t%3ATcThetaType"
>TcThetaType</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcloneDict"
>cloneDict</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="Inst.html#t%3AInst"
>Inst</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkOverLit"
>mkOverLit</A
> :: <A HREF="HsLit.html#t%3AOverLitVal"
>OverLitVal</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="HsLit.html#t%3AHsLit"
>HsLit</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnewIPDict"
>newIPDict</A
> :: <A HREF="Inst.html#t%3AInstOrigin"
>InstOrigin</A
> -&gt; <A HREF="BasicTypes.html#t%3AIPName"
>IPName</A
> <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="Type.html#t%3AType"
>Type</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> (<A HREF="BasicTypes.html#t%3AIPName"
>IPName</A
> <A HREF="Var.html#t%3AId"
>Id</A
>, <A HREF="Inst.html#t%3AInst"
>Inst</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnewMethod"
>newMethod</A
> :: <A HREF="Inst.html#t%3AInstLoc"
>InstLoc</A
> -&gt; <A HREF="Var.html#t%3AId"
>Id</A
> -&gt; [<A HREF="Type.html#t%3AType"
>Type</A
>] -&gt; <A HREF="TcRnTypes.html#t%3ATcRn"
>TcRn</A
> <A HREF="Inst.html#t%3AInst"
>Inst</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnewMethodFromName"
>newMethodFromName</A
> :: <A HREF="Inst.html#t%3AInstOrigin"
>InstOrigin</A
> -&gt; <A HREF="TcType.html#t%3ABoxyRhoType"
>BoxyRhoType</A
> -&gt; <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcRnTypes.html#t%3ATcId"
>TcId</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnewMethodWithGivenTy"
>newMethodWithGivenTy</A
> :: <A HREF="Inst.html#t%3AInstOrigin"
>InstOrigin</A
> -&gt; <A HREF="Var.html#t%3AId"
>Id</A
> -&gt; [<A HREF="Type.html#t%3AType"
>Type</A
>] -&gt; <A HREF="TcRnTypes.html#t%3ATcRn"
>TcRn</A
> <A HREF="TcRnTypes.html#t%3ATcId"
>TcId</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtcInstClassOp"
>tcInstClassOp</A
> :: <A HREF="Inst.html#t%3AInstLoc"
>InstLoc</A
> -&gt; <A HREF="Var.html#t%3AId"
>Id</A
> -&gt; [<A HREF="TcType.html#t%3ATcType"
>TcType</A
>] -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="Inst.html#t%3AInst"
>Inst</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtcSyntaxName"
>tcSyntaxName</A
> :: <A HREF="Inst.html#t%3AInstOrigin"
>InstOrigin</A
> -&gt; <A HREF="TcType.html#t%3ATcType"
>TcType</A
> -&gt; (<A HREF="Name.html#t%3AName"
>Name</A
>, <A HREF="HsExpr.html#t%3AHsExpr"
>HsExpr</A
> <A HREF="Name.html#t%3AName"
>Name</A
>) -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> (<A HREF="Name.html#t%3AName"
>Name</A
>, <A HREF="HsExpr.html#t%3AHsExpr"
>HsExpr</A
> <A HREF="TcRnTypes.html#t%3ATcId"
>TcId</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisHsVar"
>isHsVar</A
> :: <A HREF="HsExpr.html#t%3AHsExpr"
>HsExpr</A
> <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtyVarsOfInst"
>tyVarsOfInst</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="TcType.html#t%3ATcTyVarSet"
>TcTyVarSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtyVarsOfInsts"
>tyVarsOfInsts</A
> :: [<A HREF="Inst.html#t%3AInst"
>Inst</A
>] -&gt; <A HREF="VarSet.html#t%3AVarSet"
>VarSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtyVarsOfLIE"
>tyVarsOfLIE</A
> :: <A HREF="Bag.html#t%3ABag"
>Bag</A
> <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="VarSet.html#t%3AVarSet"
>VarSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AipNamesOfInst"
>ipNamesOfInst</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; [<A HREF="Name.html#t%3AName"
>Name</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AipNamesOfInsts"
>ipNamesOfInsts</A
> :: [<A HREF="Inst.html#t%3AInst"
>Inst</A
>] -&gt; [<A HREF="Name.html#t%3AName"
>Name</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfdPredsOfInst"
>fdPredsOfInst</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; [<A HREF="TcType.html#t%3ATcPredType"
>TcPredType</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfdPredsOfInsts"
>fdPredsOfInsts</A
> :: [<A HREF="Inst.html#t%3AInst"
>Inst</A
>] -&gt; [<A HREF="Type.html#t%3APredType"
>PredType</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetDictClassTys"
>getDictClassTys</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; (<A HREF="Class.html#t%3AClass"
>Class</A
>, [<A HREF="Type.html#t%3AType"
>Type</A
>])</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdictPred"
>dictPred</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="TcType.html#t%3ATcPredType"
>TcPredType</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AlookupSimpleInst"
>lookupSimpleInst</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="Inst.html#t%3ALookupInstResult"
>LookupInstResult</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ALookupInstResult"
>LookupInstResult</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ANoInstance"
>NoInstance</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AGenInst"
>GenInst</A
> [<A HREF="Inst.html#t%3AInst"
>Inst</A
>] (<A HREF="HsExpr.html#t%3ALHsExpr"
>LHsExpr</A
> <A HREF="TcRnTypes.html#t%3ATcId"
>TcId</A
>)</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtcExtendLocalInstEnv"
>tcExtendLocalInstEnv</A
> ::  [<A HREF="InstEnv.html#t%3AInstance"
>Instance</A
>] -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> a -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtcGetInstEnvs"
>tcGetInstEnvs</A
> :: <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> (<A HREF="InstEnv.html#t%3AInstEnv"
>InstEnv</A
>, <A HREF="InstEnv.html#t%3AInstEnv"
>InstEnv</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetOverlapFlag"
>getOverlapFlag</A
> :: <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="BasicTypes.html#t%3AOverlapFlag"
>OverlapFlag</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisAbstractableInst"
>isAbstractableInst</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisEqInst"
>isEqInst</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisDict"
>isDict</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisClassDict"
>isClassDict</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisMethod"
>isMethod</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisImplicInst"
>isImplicInst</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisIPDict"
>isIPDict</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisInheritableInst"
>isInheritableInst</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisMethodOrLit"
>isMethodOrLit</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisTyVarDict"
>isTyVarDict</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisMethodFor"
>isMethodFor</A
> :: <A HREF="TcRnTypes.html#t%3ATcIdSet"
>TcIdSet</A
> -&gt; <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AzonkInst"
>zonkInst</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="Inst.html#t%3AInst"
>Inst</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AzonkInsts"
>zonkInsts</A
> :: [<A HREF="Inst.html#t%3AInst"
>Inst</A
>] -&gt; <A HREF="TcRnTypes.html#t%3ATcRn"
>TcRn</A
> [<A HREF="Inst.html#t%3AInst"
>Inst</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AinstToId"
>instToId</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcId"
>TcId</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AinstToVar"
>instToVar</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AinstType"
>instType</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="Type.html#t%3AType"
>Type</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AinstName"
>instName</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="Name.html#t%3AName"
>Name</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AinstToDictBind"
>instToDictBind</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="HsExpr.html#t%3ALHsExpr"
>LHsExpr</A
> <A HREF="TcRnTypes.html#t%3ATcId"
>TcId</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcDictBinds"
>TcDictBinds</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AaddInstToDictBind"
>addInstToDictBind</A
> :: <A HREF="TcRnTypes.html#t%3ATcDictBinds"
>TcDictBinds</A
> -&gt; <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="HsExpr.html#t%3ALHsExpr"
>LHsExpr</A
> <A HREF="TcRnTypes.html#t%3ATcId"
>TcId</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcDictBinds"
>TcDictBinds</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AInstOrigin"
>InstOrigin</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ASigOrigin"
>SigOrigin</A
> <A HREF="TcType.html#t%3ASkolemInfo"
>SkolemInfo</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AIPBindOrigin"
>IPBindOrigin</A
> (<A HREF="BasicTypes.html#t%3AIPName"
>IPName</A
> <A HREF="Name.html#t%3AName"
>Name</A
>)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOccurrenceOf"
>OccurrenceOf</A
> <A HREF="Name.html#t%3AName"
>Name</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ASpecPragOrigin"
>SpecPragOrigin</A
> <A HREF="Name.html#t%3AName"
>Name</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AIPOccOrigin"
>IPOccOrigin</A
> (<A HREF="BasicTypes.html#t%3AIPName"
>IPName</A
> <A HREF="Name.html#t%3AName"
>Name</A
>)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ALiteralOrigin"
>LiteralOrigin</A
> (<A HREF="HsLit.html#t%3AHsOverLit"
>HsOverLit</A
> <A HREF="Name.html#t%3AName"
>Name</A
>)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ANegateOrigin"
>NegateOrigin</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AArithSeqOrigin"
>ArithSeqOrigin</A
> (<A HREF="HsExpr.html#t%3AArithSeqInfo"
>ArithSeqInfo</A
> <A HREF="Name.html#t%3AName"
>Name</A
>)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APArrSeqOrigin"
>PArrSeqOrigin</A
> (<A HREF="HsExpr.html#t%3AArithSeqInfo"
>ArithSeqInfo</A
> <A HREF="Name.html#t%3AName"
>Name</A
>)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATupleOrigin"
>TupleOrigin</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AInstSigOrigin"
>InstSigOrigin</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AExprSigOrigin"
>ExprSigOrigin</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARecordUpdOrigin"
>RecordUpdOrigin</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AViewPatOrigin"
>ViewPatOrigin</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AInstScOrigin"
>InstScOrigin</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ANoScOrigin"
>NoScOrigin</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ADerivOrigin"
>DerivOrigin</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AStandAloneDerivOrigin"
>StandAloneDerivOrigin</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ADefaultOrigin"
>DefaultOrigin</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ADoOrigin"
>DoOrigin</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AProcOrigin"
>ProcOrigin</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AImplicOrigin"
>ImplicOrigin</A
> <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AEqOrigin"
>EqOrigin</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AInstLoc"
>InstLoc</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApprInstLoc"
>pprInstLoc</A
> :: <A HREF="Inst.html#t%3AInstLoc"
>InstLoc</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkWantedCo"
>mkWantedCo</A
> :: <A HREF="TcType.html#t%3ATcTyVar"
>TcTyVar</A
> -&gt; <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkGivenCo"
>mkGivenCo</A
> :: <A HREF="Coercion.html#t%3ACoercion"
>Coercion</A
> -&gt; <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisWantedCo"
>isWantedCo</A
> :: <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AeqInstCoType"
>eqInstCoType</A
> :: <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
> -&gt; <A HREF="TcType.html#t%3ATcType"
>TcType</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkIdEqInstCo"
>mkIdEqInstCo</A
> :: <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
> -&gt; <A HREF="Type.html#t%3AType"
>Type</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkSymEqInstCo"
>mkSymEqInstCo</A
> :: <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
> -&gt; (<A HREF="Type.html#t%3AType"
>Type</A
>, <A HREF="Type.html#t%3AType"
>Type</A
>) -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkLeftTransEqInstCo"
>mkLeftTransEqInstCo</A
> :: <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
> -&gt; <A HREF="Coercion.html#t%3ACoercion"
>Coercion</A
> -&gt; (<A HREF="Type.html#t%3AType"
>Type</A
>, <A HREF="Type.html#t%3AType"
>Type</A
>) -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkRightTransEqInstCo"
>mkRightTransEqInstCo</A
> :: <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
> -&gt; <A HREF="Coercion.html#t%3ACoercion"
>Coercion</A
> -&gt; (<A HREF="Type.html#t%3AType"
>Type</A
>, <A HREF="Type.html#t%3AType"
>Type</A
>) -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkAppEqInstCo"
>mkAppEqInstCo</A
> :: <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
> -&gt; (<A HREF="Type.html#t%3AType"
>Type</A
>, <A HREF="Type.html#t%3AType"
>Type</A
>) -&gt; (<A HREF="Type.html#t%3AType"
>Type</A
>, <A HREF="Type.html#t%3AType"
>Type</A
>) -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> (<A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
>, <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwantedEqInstIsUnsolved"
>wantedEqInstIsUnsolved</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AeitherEqInst"
>eitherEqInst</A
> ::  <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; (<A HREF="TcType.html#t%3ATcTyVar"
>TcTyVar</A
> -&gt; a) -&gt; (<A HREF="Coercion.html#t%3ACoercion"
>Coercion</A
> -&gt; a) -&gt; a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkEqInst"
>mkEqInst</A
> :: <A HREF="Type.html#t%3APredType"
>PredType</A
> -&gt; <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="Inst.html#t%3AInst"
>Inst</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkWantedEqInst"
>mkWantedEqInst</A
> :: <A HREF="Type.html#t%3APredType"
>PredType</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="Inst.html#t%3AInst"
>Inst</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwantedToLocalEqInst"
>wantedToLocalEqInst</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="Inst.html#t%3AInst"
>Inst</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfinalizeEqInst"
>finalizeEqInst</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="Inst.html#t%3AInst"
>Inst</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AeqInstType"
>eqInstType</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="TcType.html#t%3ATcType"
>TcType</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AeqInstCoercion"
>eqInstCoercion</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AeqInstTys"
>eqInstTys</A
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; (<A HREF="TcType.html#t%3ATcType"
>TcType</A
>, <A HREF="TcType.html#t%3ATcType"
>TcType</A
>)</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Documentation</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Inst"
><A NAME="t%3AInst"
></A
></A
><B
>Inst</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Inst')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Inst" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="Inst.html#t%3AInst"
>Inst</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="Inst.html#t%3AInst"
>Inst</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="Inst.html#t%3AInst"
>Inst</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:pprInstances"
><A NAME="v%3ApprInstances"
></A
></A
><B
>pprInstances</B
> :: [<A HREF="InstEnv.html#t%3AInstance"
>Instance</A
>] -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:pprDictsTheta"
><A NAME="v%3ApprDictsTheta"
></A
></A
><B
>pprDictsTheta</B
> :: [<A HREF="Inst.html#t%3AInst"
>Inst</A
>] -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:pprDictsInFull"
><A NAME="v%3ApprDictsInFull"
></A
></A
><B
>pprDictsInFull</B
> :: [<A HREF="Inst.html#t%3AInst"
>Inst</A
>] -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:showLIE"
><A NAME="v%3AshowLIE"
></A
></A
><B
>showLIE</B
> :: <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:pprInst"
><A NAME="v%3ApprInst"
></A
></A
><B
>pprInst</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:pprInsts"
><A NAME="v%3ApprInsts"
></A
></A
><B
>pprInsts</B
> :: [<A HREF="Inst.html#t%3AInst"
>Inst</A
>] -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:pprInstInFull"
><A NAME="v%3ApprInstInFull"
></A
></A
><B
>pprInstInFull</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tidyInsts"
><A NAME="v%3AtidyInsts"
></A
></A
><B
>tidyInsts</B
> :: [<A HREF="Inst.html#t%3AInst"
>Inst</A
>] -&gt; (<A HREF="VarEnv.html#t%3ATidyEnv"
>TidyEnv</A
>, [<A HREF="Inst.html#t%3AInst"
>Inst</A
>])</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tidyMoreInsts"
><A NAME="v%3AtidyMoreInsts"
></A
></A
><B
>tidyMoreInsts</B
> :: <A HREF="VarEnv.html#t%3ATidyEnv"
>TidyEnv</A
> -&gt; [<A HREF="Inst.html#t%3AInst"
>Inst</A
>] -&gt; (<A HREF="VarEnv.html#t%3ATidyEnv"
>TidyEnv</A
>, [<A HREF="Inst.html#t%3AInst"
>Inst</A
>])</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newDictBndr"
><A NAME="v%3AnewDictBndr"
></A
></A
><B
>newDictBndr</B
> :: <A HREF="Inst.html#t%3AInstLoc"
>InstLoc</A
> -&gt; <A HREF="TcType.html#t%3ATcPredType"
>TcPredType</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="Inst.html#t%3AInst"
>Inst</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newDictBndrs"
><A NAME="v%3AnewDictBndrs"
></A
></A
><B
>newDictBndrs</B
> :: <A HREF="Inst.html#t%3AInstLoc"
>InstLoc</A
> -&gt; <A HREF="TcType.html#t%3ATcThetaType"
>TcThetaType</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> [<A HREF="Inst.html#t%3AInst"
>Inst</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newDictBndrsO"
><A NAME="v%3AnewDictBndrsO"
></A
></A
><B
>newDictBndrsO</B
> :: <A HREF="Inst.html#t%3AInstOrigin"
>InstOrigin</A
> -&gt; <A HREF="TcType.html#t%3ATcThetaType"
>TcThetaType</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> [<A HREF="Inst.html#t%3AInst"
>Inst</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newDictOccs"
><A NAME="v%3AnewDictOccs"
></A
></A
><B
>newDictOccs</B
> :: <A HREF="Inst.html#t%3AInstLoc"
>InstLoc</A
> -&gt; <A HREF="TcType.html#t%3ATcThetaType"
>TcThetaType</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> [<A HREF="Inst.html#t%3AInst"
>Inst</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newDictOcc"
><A NAME="v%3AnewDictOcc"
></A
></A
><B
>newDictOcc</B
> :: <A HREF="Inst.html#t%3AInstLoc"
>InstLoc</A
> -&gt; <A HREF="TcType.html#t%3ATcPredType"
>TcPredType</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="Inst.html#t%3AInst"
>Inst</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:instCall"
><A NAME="v%3AinstCall"
></A
></A
><B
>instCall</B
> :: <A HREF="Inst.html#t%3AInstOrigin"
>InstOrigin</A
> -&gt; [<A HREF="TcType.html#t%3ATcType"
>TcType</A
>] -&gt; <A HREF="TcType.html#t%3ATcThetaType"
>TcThetaType</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="HsBinds.html#t%3AHsWrapper"
>HsWrapper</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:instStupidTheta"
><A NAME="v%3AinstStupidTheta"
></A
></A
><B
>instStupidTheta</B
> :: <A HREF="Inst.html#t%3AInstOrigin"
>InstOrigin</A
> -&gt; <A HREF="TcType.html#t%3ATcThetaType"
>TcThetaType</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:cloneDict"
><A NAME="v%3AcloneDict"
></A
></A
><B
>cloneDict</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="Inst.html#t%3AInst"
>Inst</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkOverLit"
><A NAME="v%3AmkOverLit"
></A
></A
><B
>mkOverLit</B
> :: <A HREF="HsLit.html#t%3AOverLitVal"
>OverLitVal</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="HsLit.html#t%3AHsLit"
>HsLit</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newIPDict"
><A NAME="v%3AnewIPDict"
></A
></A
><B
>newIPDict</B
> :: <A HREF="Inst.html#t%3AInstOrigin"
>InstOrigin</A
> -&gt; <A HREF="BasicTypes.html#t%3AIPName"
>IPName</A
> <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="Type.html#t%3AType"
>Type</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> (<A HREF="BasicTypes.html#t%3AIPName"
>IPName</A
> <A HREF="Var.html#t%3AId"
>Id</A
>, <A HREF="Inst.html#t%3AInst"
>Inst</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newMethod"
><A NAME="v%3AnewMethod"
></A
></A
><B
>newMethod</B
> :: <A HREF="Inst.html#t%3AInstLoc"
>InstLoc</A
> -&gt; <A HREF="Var.html#t%3AId"
>Id</A
> -&gt; [<A HREF="Type.html#t%3AType"
>Type</A
>] -&gt; <A HREF="TcRnTypes.html#t%3ATcRn"
>TcRn</A
> <A HREF="Inst.html#t%3AInst"
>Inst</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newMethodFromName"
><A NAME="v%3AnewMethodFromName"
></A
></A
><B
>newMethodFromName</B
> :: <A HREF="Inst.html#t%3AInstOrigin"
>InstOrigin</A
> -&gt; <A HREF="TcType.html#t%3ABoxyRhoType"
>BoxyRhoType</A
> -&gt; <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcRnTypes.html#t%3ATcId"
>TcId</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newMethodWithGivenTy"
><A NAME="v%3AnewMethodWithGivenTy"
></A
></A
><B
>newMethodWithGivenTy</B
> :: <A HREF="Inst.html#t%3AInstOrigin"
>InstOrigin</A
> -&gt; <A HREF="Var.html#t%3AId"
>Id</A
> -&gt; [<A HREF="Type.html#t%3AType"
>Type</A
>] -&gt; <A HREF="TcRnTypes.html#t%3ATcRn"
>TcRn</A
> <A HREF="TcRnTypes.html#t%3ATcId"
>TcId</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tcInstClassOp"
><A NAME="v%3AtcInstClassOp"
></A
></A
><B
>tcInstClassOp</B
> :: <A HREF="Inst.html#t%3AInstLoc"
>InstLoc</A
> -&gt; <A HREF="Var.html#t%3AId"
>Id</A
> -&gt; [<A HREF="TcType.html#t%3ATcType"
>TcType</A
>] -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="Inst.html#t%3AInst"
>Inst</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tcSyntaxName"
><A NAME="v%3AtcSyntaxName"
></A
></A
><B
>tcSyntaxName</B
> :: <A HREF="Inst.html#t%3AInstOrigin"
>InstOrigin</A
> -&gt; <A HREF="TcType.html#t%3ATcType"
>TcType</A
> -&gt; (<A HREF="Name.html#t%3AName"
>Name</A
>, <A HREF="HsExpr.html#t%3AHsExpr"
>HsExpr</A
> <A HREF="Name.html#t%3AName"
>Name</A
>) -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> (<A HREF="Name.html#t%3AName"
>Name</A
>, <A HREF="HsExpr.html#t%3AHsExpr"
>HsExpr</A
> <A HREF="TcRnTypes.html#t%3ATcId"
>TcId</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isHsVar"
><A NAME="v%3AisHsVar"
></A
></A
><B
>isHsVar</B
> :: <A HREF="HsExpr.html#t%3AHsExpr"
>HsExpr</A
> <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tyVarsOfInst"
><A NAME="v%3AtyVarsOfInst"
></A
></A
><B
>tyVarsOfInst</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="TcType.html#t%3ATcTyVarSet"
>TcTyVarSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tyVarsOfInsts"
><A NAME="v%3AtyVarsOfInsts"
></A
></A
><B
>tyVarsOfInsts</B
> :: [<A HREF="Inst.html#t%3AInst"
>Inst</A
>] -&gt; <A HREF="VarSet.html#t%3AVarSet"
>VarSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tyVarsOfLIE"
><A NAME="v%3AtyVarsOfLIE"
></A
></A
><B
>tyVarsOfLIE</B
> :: <A HREF="Bag.html#t%3ABag"
>Bag</A
> <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="VarSet.html#t%3AVarSet"
>VarSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:ipNamesOfInst"
><A NAME="v%3AipNamesOfInst"
></A
></A
><B
>ipNamesOfInst</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; [<A HREF="Name.html#t%3AName"
>Name</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:ipNamesOfInsts"
><A NAME="v%3AipNamesOfInsts"
></A
></A
><B
>ipNamesOfInsts</B
> :: [<A HREF="Inst.html#t%3AInst"
>Inst</A
>] -&gt; [<A HREF="Name.html#t%3AName"
>Name</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:fdPredsOfInst"
><A NAME="v%3AfdPredsOfInst"
></A
></A
><B
>fdPredsOfInst</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; [<A HREF="TcType.html#t%3ATcPredType"
>TcPredType</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:fdPredsOfInsts"
><A NAME="v%3AfdPredsOfInsts"
></A
></A
><B
>fdPredsOfInsts</B
> :: [<A HREF="Inst.html#t%3AInst"
>Inst</A
>] -&gt; [<A HREF="Type.html#t%3APredType"
>PredType</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getDictClassTys"
><A NAME="v%3AgetDictClassTys"
></A
></A
><B
>getDictClassTys</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; (<A HREF="Class.html#t%3AClass"
>Class</A
>, [<A HREF="Type.html#t%3AType"
>Type</A
>])</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:dictPred"
><A NAME="v%3AdictPred"
></A
></A
><B
>dictPred</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="TcType.html#t%3ATcPredType"
>TcPredType</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:lookupSimpleInst"
><A NAME="v%3AlookupSimpleInst"
></A
></A
><B
>lookupSimpleInst</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="Inst.html#t%3ALookupInstResult"
>LookupInstResult</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:LookupInstResult"
><A NAME="t%3ALookupInstResult"
></A
></A
><B
>LookupInstResult</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:NoInstance"
><A NAME="v%3ANoInstance"
></A
></A
><B
>NoInstance</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:GenInst"
><A NAME="v%3AGenInst"
></A
></A
><B
>GenInst</B
> [<A HREF="Inst.html#t%3AInst"
>Inst</A
>] (<A HREF="HsExpr.html#t%3ALHsExpr"
>LHsExpr</A
> <A HREF="TcRnTypes.html#t%3ATcId"
>TcId</A
>)</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tcExtendLocalInstEnv"
><A NAME="v%3AtcExtendLocalInstEnv"
></A
></A
><B
>tcExtendLocalInstEnv</B
> ::  [<A HREF="InstEnv.html#t%3AInstance"
>Instance</A
>] -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> a -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tcGetInstEnvs"
><A NAME="v%3AtcGetInstEnvs"
></A
></A
><B
>tcGetInstEnvs</B
> :: <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> (<A HREF="InstEnv.html#t%3AInstEnv"
>InstEnv</A
>, <A HREF="InstEnv.html#t%3AInstEnv"
>InstEnv</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getOverlapFlag"
><A NAME="v%3AgetOverlapFlag"
></A
></A
><B
>getOverlapFlag</B
> :: <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="BasicTypes.html#t%3AOverlapFlag"
>OverlapFlag</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isAbstractableInst"
><A NAME="v%3AisAbstractableInst"
></A
></A
><B
>isAbstractableInst</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isEqInst"
><A NAME="v%3AisEqInst"
></A
></A
><B
>isEqInst</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isDict"
><A NAME="v%3AisDict"
></A
></A
><B
>isDict</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isClassDict"
><A NAME="v%3AisClassDict"
></A
></A
><B
>isClassDict</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isMethod"
><A NAME="v%3AisMethod"
></A
></A
><B
>isMethod</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isImplicInst"
><A NAME="v%3AisImplicInst"
></A
></A
><B
>isImplicInst</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isIPDict"
><A NAME="v%3AisIPDict"
></A
></A
><B
>isIPDict</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isInheritableInst"
><A NAME="v%3AisInheritableInst"
></A
></A
><B
>isInheritableInst</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isMethodOrLit"
><A NAME="v%3AisMethodOrLit"
></A
></A
><B
>isMethodOrLit</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isTyVarDict"
><A NAME="v%3AisTyVarDict"
></A
></A
><B
>isTyVarDict</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isMethodFor"
><A NAME="v%3AisMethodFor"
></A
></A
><B
>isMethodFor</B
> :: <A HREF="TcRnTypes.html#t%3ATcIdSet"
>TcIdSet</A
> -&gt; <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:zonkInst"
><A NAME="v%3AzonkInst"
></A
></A
><B
>zonkInst</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="Inst.html#t%3AInst"
>Inst</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:zonkInsts"
><A NAME="v%3AzonkInsts"
></A
></A
><B
>zonkInsts</B
> :: [<A HREF="Inst.html#t%3AInst"
>Inst</A
>] -&gt; <A HREF="TcRnTypes.html#t%3ATcRn"
>TcRn</A
> [<A HREF="Inst.html#t%3AInst"
>Inst</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:instToId"
><A NAME="v%3AinstToId"
></A
></A
><B
>instToId</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcId"
>TcId</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:instToVar"
><A NAME="v%3AinstToVar"
></A
></A
><B
>instToVar</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:instType"
><A NAME="v%3AinstType"
></A
></A
><B
>instType</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="Type.html#t%3AType"
>Type</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:instName"
><A NAME="v%3AinstName"
></A
></A
><B
>instName</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="Name.html#t%3AName"
>Name</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:instToDictBind"
><A NAME="v%3AinstToDictBind"
></A
></A
><B
>instToDictBind</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="HsExpr.html#t%3ALHsExpr"
>LHsExpr</A
> <A HREF="TcRnTypes.html#t%3ATcId"
>TcId</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcDictBinds"
>TcDictBinds</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:addInstToDictBind"
><A NAME="v%3AaddInstToDictBind"
></A
></A
><B
>addInstToDictBind</B
> :: <A HREF="TcRnTypes.html#t%3ATcDictBinds"
>TcDictBinds</A
> -&gt; <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="HsExpr.html#t%3ALHsExpr"
>LHsExpr</A
> <A HREF="TcRnTypes.html#t%3ATcId"
>TcId</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcDictBinds"
>TcDictBinds</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:InstOrigin"
><A NAME="t%3AInstOrigin"
></A
></A
><B
>InstOrigin</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:SigOrigin"
><A NAME="v%3ASigOrigin"
></A
></A
><B
>SigOrigin</B
> <A HREF="TcType.html#t%3ASkolemInfo"
>SkolemInfo</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:IPBindOrigin"
><A NAME="v%3AIPBindOrigin"
></A
></A
><B
>IPBindOrigin</B
> (<A HREF="BasicTypes.html#t%3AIPName"
>IPName</A
> <A HREF="Name.html#t%3AName"
>Name</A
>)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:OccurrenceOf"
><A NAME="v%3AOccurrenceOf"
></A
></A
><B
>OccurrenceOf</B
> <A HREF="Name.html#t%3AName"
>Name</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:SpecPragOrigin"
><A NAME="v%3ASpecPragOrigin"
></A
></A
><B
>SpecPragOrigin</B
> <A HREF="Name.html#t%3AName"
>Name</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:IPOccOrigin"
><A NAME="v%3AIPOccOrigin"
></A
></A
><B
>IPOccOrigin</B
> (<A HREF="BasicTypes.html#t%3AIPName"
>IPName</A
> <A HREF="Name.html#t%3AName"
>Name</A
>)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:LiteralOrigin"
><A NAME="v%3ALiteralOrigin"
></A
></A
><B
>LiteralOrigin</B
> (<A HREF="HsLit.html#t%3AHsOverLit"
>HsOverLit</A
> <A HREF="Name.html#t%3AName"
>Name</A
>)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:NegateOrigin"
><A NAME="v%3ANegateOrigin"
></A
></A
><B
>NegateOrigin</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ArithSeqOrigin"
><A NAME="v%3AArithSeqOrigin"
></A
></A
><B
>ArithSeqOrigin</B
> (<A HREF="HsExpr.html#t%3AArithSeqInfo"
>ArithSeqInfo</A
> <A HREF="Name.html#t%3AName"
>Name</A
>)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PArrSeqOrigin"
><A NAME="v%3APArrSeqOrigin"
></A
></A
><B
>PArrSeqOrigin</B
> (<A HREF="HsExpr.html#t%3AArithSeqInfo"
>ArithSeqInfo</A
> <A HREF="Name.html#t%3AName"
>Name</A
>)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TupleOrigin"
><A NAME="v%3ATupleOrigin"
></A
></A
><B
>TupleOrigin</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:InstSigOrigin"
><A NAME="v%3AInstSigOrigin"
></A
></A
><B
>InstSigOrigin</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ExprSigOrigin"
><A NAME="v%3AExprSigOrigin"
></A
></A
><B
>ExprSigOrigin</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RecordUpdOrigin"
><A NAME="v%3ARecordUpdOrigin"
></A
></A
><B
>RecordUpdOrigin</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ViewPatOrigin"
><A NAME="v%3AViewPatOrigin"
></A
></A
><B
>ViewPatOrigin</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:InstScOrigin"
><A NAME="v%3AInstScOrigin"
></A
></A
><B
>InstScOrigin</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:NoScOrigin"
><A NAME="v%3ANoScOrigin"
></A
></A
><B
>NoScOrigin</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:DerivOrigin"
><A NAME="v%3ADerivOrigin"
></A
></A
><B
>DerivOrigin</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:StandAloneDerivOrigin"
><A NAME="v%3AStandAloneDerivOrigin"
></A
></A
><B
>StandAloneDerivOrigin</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:DefaultOrigin"
><A NAME="v%3ADefaultOrigin"
></A
></A
><B
>DefaultOrigin</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:DoOrigin"
><A NAME="v%3ADoOrigin"
></A
></A
><B
>DoOrigin</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ProcOrigin"
><A NAME="v%3AProcOrigin"
></A
></A
><B
>ProcOrigin</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ImplicOrigin"
><A NAME="v%3AImplicOrigin"
></A
></A
><B
>ImplicOrigin</B
> <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:EqOrigin"
><A NAME="v%3AEqOrigin"
></A
></A
><B
>EqOrigin</B
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:InstOrigin')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:InstOrigin" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="Inst.html#t%3AInstOrigin"
>InstOrigin</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:InstLoc"
><A NAME="t%3AInstLoc"
></A
></A
><B
>InstLoc</B
>  </TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:pprInstLoc"
><A NAME="v%3ApprInstLoc"
></A
></A
><B
>pprInstLoc</B
> :: <A HREF="Inst.html#t%3AInstLoc"
>InstLoc</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkWantedCo"
><A NAME="v%3AmkWantedCo"
></A
></A
><B
>mkWantedCo</B
> :: <A HREF="TcType.html#t%3ATcTyVar"
>TcTyVar</A
> -&gt; <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkGivenCo"
><A NAME="v%3AmkGivenCo"
></A
></A
><B
>mkGivenCo</B
> :: <A HREF="Coercion.html#t%3ACoercion"
>Coercion</A
> -&gt; <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isWantedCo"
><A NAME="v%3AisWantedCo"
></A
></A
><B
>isWantedCo</B
> :: <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:eqInstCoType"
><A NAME="v%3AeqInstCoType"
></A
></A
><B
>eqInstCoType</B
> :: <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
> -&gt; <A HREF="TcType.html#t%3ATcType"
>TcType</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkIdEqInstCo"
><A NAME="v%3AmkIdEqInstCo"
></A
></A
><B
>mkIdEqInstCo</B
> :: <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
> -&gt; <A HREF="Type.html#t%3AType"
>Type</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkSymEqInstCo"
><A NAME="v%3AmkSymEqInstCo"
></A
></A
><B
>mkSymEqInstCo</B
> :: <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
> -&gt; (<A HREF="Type.html#t%3AType"
>Type</A
>, <A HREF="Type.html#t%3AType"
>Type</A
>) -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkLeftTransEqInstCo"
><A NAME="v%3AmkLeftTransEqInstCo"
></A
></A
><B
>mkLeftTransEqInstCo</B
> :: <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
> -&gt; <A HREF="Coercion.html#t%3ACoercion"
>Coercion</A
> -&gt; (<A HREF="Type.html#t%3AType"
>Type</A
>, <A HREF="Type.html#t%3AType"
>Type</A
>) -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkRightTransEqInstCo"
><A NAME="v%3AmkRightTransEqInstCo"
></A
></A
><B
>mkRightTransEqInstCo</B
> :: <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
> -&gt; <A HREF="Coercion.html#t%3ACoercion"
>Coercion</A
> -&gt; (<A HREF="Type.html#t%3AType"
>Type</A
>, <A HREF="Type.html#t%3AType"
>Type</A
>) -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkAppEqInstCo"
><A NAME="v%3AmkAppEqInstCo"
></A
></A
><B
>mkAppEqInstCo</B
> :: <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
> -&gt; (<A HREF="Type.html#t%3AType"
>Type</A
>, <A HREF="Type.html#t%3AType"
>Type</A
>) -&gt; (<A HREF="Type.html#t%3AType"
>Type</A
>, <A HREF="Type.html#t%3AType"
>Type</A
>) -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> (<A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
>, <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:wantedEqInstIsUnsolved"
><A NAME="v%3AwantedEqInstIsUnsolved"
></A
></A
><B
>wantedEqInstIsUnsolved</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>A wanted equality is unsolved as long as its cotv is unfilled.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:eitherEqInst"
><A NAME="v%3AeitherEqInst"
></A
></A
><B
>eitherEqInst</B
> ::  <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; (<A HREF="TcType.html#t%3ATcTyVar"
>TcTyVar</A
> -&gt; a) -&gt; (<A HREF="Coercion.html#t%3ACoercion"
>Coercion</A
> -&gt; a) -&gt; a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkEqInst"
><A NAME="v%3AmkEqInst"
></A
></A
><B
>mkEqInst</B
> :: <A HREF="Type.html#t%3APredType"
>PredType</A
> -&gt; <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="Inst.html#t%3AInst"
>Inst</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkWantedEqInst"
><A NAME="v%3AmkWantedEqInst"
></A
></A
><B
>mkWantedEqInst</B
> :: <A HREF="Type.html#t%3APredType"
>PredType</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="Inst.html#t%3AInst"
>Inst</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:wantedToLocalEqInst"
><A NAME="v%3AwantedToLocalEqInst"
></A
></A
><B
>wantedToLocalEqInst</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="Inst.html#t%3AInst"
>Inst</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:finalizeEqInst"
><A NAME="v%3AfinalizeEqInst"
></A
></A
><B
>finalizeEqInst</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="Inst.html#t%3AInst"
>Inst</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:eqInstType"
><A NAME="v%3AeqInstType"
></A
></A
><B
>eqInstType</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="TcType.html#t%3ATcType"
>TcType</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:eqInstCoercion"
><A NAME="v%3AeqInstCoercion"
></A
></A
><B
>eqInstCoercion</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; <A HREF="TcRnTypes.html#t%3AEqInstCo"
>EqInstCo</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:eqInstTys"
><A NAME="v%3AeqInstTys"
></A
></A
><B
>eqInstTys</B
> :: <A HREF="Inst.html#t%3AInst"
>Inst</A
> -&gt; (<A HREF="TcType.html#t%3ATcType"
>TcType</A
>, <A HREF="TcType.html#t%3ATcType"
>TcType</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 2.4.2</TD
></TR
></TABLE
></BODY
></HTML
>