Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 70ec89744a04da80369b4702b2c37256 > files > 915

ghc-doc-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
>TcMType</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_TcMType.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"
>TcMType</FONT
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="s15"
></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"
>type</SPAN
> <A NAME="t:TcTyVar"
><A NAME="t%3ATcTyVar"
></A
></A
><B
>TcTyVar</B
> = <A HREF="Var.html#t%3ATyVar"
>TyVar</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:TcKind"
><A NAME="t%3ATcKind"
></A
></A
><B
>TcKind</B
> = <A HREF="Type.html#t%3AKind"
>Kind</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:TcType"
><A NAME="t%3ATcType"
></A
></A
><B
>TcType</B
> = <A HREF="Type.html#t%3AType"
>Type</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:TcTauType"
><A NAME="t%3ATcTauType"
></A
></A
><B
>TcTauType</B
> = <A HREF="TcMType.html#t%3ATcType"
>TcType</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:TcThetaType"
><A NAME="t%3ATcThetaType"
></A
></A
><B
>TcThetaType</B
> = <A HREF="Type.html#t%3AThetaType"
>ThetaType</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:TcTyVarSet"
><A NAME="t%3ATcTyVarSet"
></A
></A
><B
>TcTyVarSet</B
> = <A HREF="VarSet.html#t%3ATyVarSet"
>TyVarSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newFlexiTyVar"
><A NAME="v%3AnewFlexiTyVar"
></A
></A
><B
>newFlexiTyVar</B
> :: <A HREF="Type.html#t%3AKind"
>Kind</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newFlexiTyVarTy"
><A NAME="v%3AnewFlexiTyVarTy"
></A
></A
><B
>newFlexiTyVarTy</B
> :: <A HREF="Type.html#t%3AKind"
>Kind</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcMType.html#t%3ATcType"
>TcType</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newFlexiTyVarTys"
><A NAME="v%3AnewFlexiTyVarTys"
></A
></A
><B
>newFlexiTyVarTys</B
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Type.html#t%3AKind"
>Kind</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> [<A HREF="TcMType.html#t%3ATcType"
>TcType</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newKindVar"
><A NAME="v%3AnewKindVar"
></A
></A
><B
>newKindVar</B
> :: <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcMType.html#t%3ATcKind"
>TcKind</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newKindVars"
><A NAME="v%3AnewKindVars"
></A
></A
><B
>newKindVars</B
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> [<A HREF="TcMType.html#t%3ATcKind"
>TcKind</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:lookupTcTyVar"
><A NAME="v%3AlookupTcTyVar"
></A
></A
><B
>lookupTcTyVar</B
> :: <A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcMType.html#t%3ALookupTyVarResult"
>LookupTyVarResult</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:LookupTyVarResult"
><A NAME="t%3ALookupTyVarResult"
></A
></A
><B
>LookupTyVarResult</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:DoneTv"
><A NAME="v%3ADoneTv"
></A
></A
><B
>DoneTv</B
> <A HREF="TcType.html#t%3ATcTyVarDetails"
>TcTyVarDetails</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:IndirectTv"
><A NAME="v%3AIndirectTv"
></A
></A
><B
>IndirectTv</B
> <A HREF="TcMType.html#t%3ATcType"
>TcType</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:newMetaTyVar"
><A NAME="v%3AnewMetaTyVar"
></A
></A
><B
>newMetaTyVar</B
> :: <A HREF="TcType.html#t%3ABoxInfo"
>BoxInfo</A
> -&gt; <A HREF="Type.html#t%3AKind"
>Kind</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readMetaTyVar"
><A NAME="v%3AreadMetaTyVar"
></A
></A
><B
>readMetaTyVar</B
> :: <A HREF="Var.html#t%3ATyVar"
>TyVar</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcType.html#t%3AMetaDetails"
>MetaDetails</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeMetaTyVar"
><A NAME="v%3AwriteMetaTyVar"
></A
></A
><B
>writeMetaTyVar</B
> :: <A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
> -&gt; <A HREF="TcMType.html#t%3ATcType"
>TcType</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:isFilledMetaTyVar"
><A NAME="v%3AisFilledMetaTyVar"
></A
></A
><B
>isFilledMetaTyVar</B
> :: <A HREF="Var.html#t%3ATyVar"
>TyVar</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="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newBoxyTyVar"
><A NAME="v%3AnewBoxyTyVar"
></A
></A
><B
>newBoxyTyVar</B
> :: <A HREF="Type.html#t%3AKind"
>Kind</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcType.html#t%3ABoxyTyVar"
>BoxyTyVar</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newBoxyTyVars"
><A NAME="v%3AnewBoxyTyVars"
></A
></A
><B
>newBoxyTyVars</B
> :: [<A HREF="Type.html#t%3AKind"
>Kind</A
>] -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> [<A HREF="TcType.html#t%3ABoxyTyVar"
>BoxyTyVar</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newBoxyTyVarTys"
><A NAME="v%3AnewBoxyTyVarTys"
></A
></A
><B
>newBoxyTyVarTys</B
> :: [<A HREF="Type.html#t%3AKind"
>Kind</A
>] -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> [<A HREF="TcType.html#t%3ABoxyType"
>BoxyType</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readFilledBox"
><A NAME="v%3AreadFilledBox"
></A
></A
><B
>readFilledBox</B
> :: <A HREF="TcType.html#t%3ABoxyTyVar"
>BoxyTyVar</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcMType.html#t%3ATcType"
>TcType</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newCoVars"
><A NAME="v%3AnewCoVars"
></A
></A
><B
>newCoVars</B
> :: [(<A HREF="TcMType.html#t%3ATcType"
>TcType</A
>, <A HREF="TcMType.html#t%3ATcType"
>TcType</A
>)] -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> [<A HREF="Var.html#t%3ACoVar"
>CoVar</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newMetaCoVar"
><A NAME="v%3AnewMetaCoVar"
></A
></A
><B
>newMetaCoVar</B
> :: <A HREF="TcMType.html#t%3ATcType"
>TcType</A
> -&gt; <A HREF="TcMType.html#t%3ATcType"
>TcType</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tcInstTyVar"
><A NAME="v%3AtcInstTyVar"
></A
></A
><B
>tcInstTyVar</B
> :: <A HREF="Var.html#t%3ATyVar"
>TyVar</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tcInstType"
><A NAME="v%3AtcInstType"
></A
></A
><B
>tcInstType</B
> :: ([<A HREF="Var.html#t%3ATyVar"
>TyVar</A
>] -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> [<A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
>]) -&gt; <A HREF="TcMType.html#t%3ATcType"
>TcType</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> ([<A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
>], <A HREF="TcMType.html#t%3ATcThetaType"
>TcThetaType</A
>, <A HREF="TcMType.html#t%3ATcType"
>TcType</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tcInstTyVars"
><A NAME="v%3AtcInstTyVars"
></A
></A
><B
>tcInstTyVars</B
> :: [<A HREF="Var.html#t%3ATyVar"
>TyVar</A
>] -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> ([<A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
>], [<A HREF="TcMType.html#t%3ATcType"
>TcType</A
>], <A HREF="Type.html#t%3ATvSubst"
>TvSubst</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tcInstBoxyTyVar"
><A NAME="v%3AtcInstBoxyTyVar"
></A
></A
><B
>tcInstBoxyTyVar</B
> :: <A HREF="Var.html#t%3ATyVar"
>TyVar</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcType.html#t%3ABoxyTyVar"
>BoxyTyVar</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tcInstSigType"
><A NAME="v%3AtcInstSigType"
></A
></A
><B
>tcInstSigType</B
> :: <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="TcType.html#t%3ASkolemInfo"
>SkolemInfo</A
> -&gt; <A HREF="TcMType.html#t%3ATcType"
>TcType</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> ([<A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
>], <A HREF="TcMType.html#t%3ATcThetaType"
>TcThetaType</A
>, <A HREF="TcType.html#t%3ATcRhoType"
>TcRhoType</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tcInstSkolTyVars"
><A NAME="v%3AtcInstSkolTyVars"
></A
></A
><B
>tcInstSkolTyVars</B
> :: <A HREF="TcType.html#t%3ASkolemInfo"
>SkolemInfo</A
> -&gt; [<A HREF="Var.html#t%3ATyVar"
>TyVar</A
>] -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> [<A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tcInstSkolType"
><A NAME="v%3AtcInstSkolType"
></A
></A
><B
>tcInstSkolType</B
> :: <A HREF="TcType.html#t%3ASkolemInfo"
>SkolemInfo</A
> -&gt; <A HREF="TcMType.html#t%3ATcType"
>TcType</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> ([<A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
>], <A HREF="TcMType.html#t%3ATcThetaType"
>TcThetaType</A
>, <A HREF="TcMType.html#t%3ATcType"
>TcType</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tcSkolSigType"
><A NAME="v%3AtcSkolSigType"
></A
></A
><B
>tcSkolSigType</B
> :: <A HREF="TcType.html#t%3ASkolemInfo"
>SkolemInfo</A
> -&gt; <A HREF="Type.html#t%3AType"
>Type</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> ([<A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
>], <A HREF="TcMType.html#t%3ATcThetaType"
>TcThetaType</A
>, <A HREF="TcMType.html#t%3ATcType"
>TcType</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tcSkolSigTyVars"
><A NAME="v%3AtcSkolSigTyVars"
></A
></A
><B
>tcSkolSigTyVars</B
> :: <A HREF="TcType.html#t%3ASkolemInfo"
>SkolemInfo</A
> -&gt; [<A HREF="Var.html#t%3ATyVar"
>TyVar</A
>] -&gt; [<A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:occurCheckErr"
><A NAME="v%3AoccurCheckErr"
></A
></A
><B
>occurCheckErr</B
> ::  <A HREF="TcMType.html#t%3ATcType"
>TcType</A
> -&gt; <A HREF="TcMType.html#t%3ATcType"
>TcType</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Rank"
><A NAME="t%3ARank"
></A
></A
><B
>Rank</B
>  </TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:UserTypeCtxt"
><A NAME="t%3AUserTypeCtxt"
></A
></A
><B
>UserTypeCtxt</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:FunSigCtxt"
><A NAME="v%3AFunSigCtxt"
></A
></A
><B
>FunSigCtxt</B
> <A HREF="Name.html#t%3AName"
>Name</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ExprSigCtxt"
><A NAME="v%3AExprSigCtxt"
></A
></A
><B
>ExprSigCtxt</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ConArgCtxt"
><A NAME="v%3AConArgCtxt"
></A
></A
><B
>ConArgCtxt</B
> <A HREF="Name.html#t%3AName"
>Name</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TySynCtxt"
><A NAME="v%3ATySynCtxt"
></A
></A
><B
>TySynCtxt</B
> <A HREF="Name.html#t%3AName"
>Name</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:GenPatCtxt"
><A NAME="v%3AGenPatCtxt"
></A
></A
><B
>GenPatCtxt</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:LamPatSigCtxt"
><A NAME="v%3ALamPatSigCtxt"
></A
></A
><B
>LamPatSigCtxt</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:BindPatSigCtxt"
><A NAME="v%3ABindPatSigCtxt"
></A
></A
><B
>BindPatSigCtxt</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ResSigCtxt"
><A NAME="v%3AResSigCtxt"
></A
></A
><B
>ResSigCtxt</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ForSigCtxt"
><A NAME="v%3AForSigCtxt"
></A
></A
><B
>ForSigCtxt</B
> <A HREF="Name.html#t%3AName"
>Name</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:DefaultDeclCtxt"
><A NAME="v%3ADefaultDeclCtxt"
></A
></A
><B
>DefaultDeclCtxt</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:SpecInstCtxt"
><A NAME="v%3ASpecInstCtxt"
></A
></A
><B
>SpecInstCtxt</B
></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:checkValidType"
><A NAME="v%3AcheckValidType"
></A
></A
><B
>checkValidType</B
> :: <A HREF="TcMType.html#t%3AUserTypeCtxt"
>UserTypeCtxt</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:checkValidMonoType"
><A NAME="v%3AcheckValidMonoType"
></A
></A
><B
>checkValidMonoType</B
> :: <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"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:SourceTyCtxt"
><A NAME="t%3ASourceTyCtxt"
></A
></A
><B
>SourceTyCtxt</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:ClassSCCtxt"
><A NAME="v%3AClassSCCtxt"
></A
></A
><B
>ClassSCCtxt</B
> <A HREF="Name.html#t%3AName"
>Name</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:SigmaCtxt"
><A NAME="v%3ASigmaCtxt"
></A
></A
><B
>SigmaCtxt</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:DataTyCtxt"
><A NAME="v%3ADataTyCtxt"
></A
></A
><B
>DataTyCtxt</B
> <A HREF="Name.html#t%3AName"
>Name</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TypeCtxt"
><A NAME="v%3ATypeCtxt"
></A
></A
><B
>TypeCtxt</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:InstThetaCtxt"
><A NAME="v%3AInstThetaCtxt"
></A
></A
><B
>InstThetaCtxt</B
></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:checkValidTheta"
><A NAME="v%3AcheckValidTheta"
></A
></A
><B
>checkValidTheta</B
> :: <A HREF="TcMType.html#t%3ASourceTyCtxt"
>SourceTyCtxt</A
> -&gt; <A HREF="Type.html#t%3AThetaType"
>ThetaType</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:checkFreeness"
><A NAME="v%3AcheckFreeness"
></A
></A
><B
>checkFreeness</B
> :: [<A HREF="Var.html#t%3AVar"
>Var</A
>] -&gt; [<A HREF="Type.html#t%3APredType"
>PredType</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:checkValidInstHead"
><A NAME="v%3AcheckValidInstHead"
></A
></A
><B
>checkValidInstHead</B
> :: <A HREF="Type.html#t%3AType"
>Type</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> (<A HREF="Class.html#t%3AClass"
>Class</A
>, [<A HREF="TcMType.html#t%3ATcType"
>TcType</A
>])</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:checkValidInstance"
><A NAME="v%3AcheckValidInstance"
></A
></A
><B
>checkValidInstance</B
> :: [<A HREF="Var.html#t%3ATyVar"
>TyVar</A
>] -&gt; <A HREF="Type.html#t%3AThetaType"
>ThetaType</A
> -&gt; <A HREF="Class.html#t%3AClass"
>Class</A
> -&gt; [<A HREF="TcMType.html#t%3ATcType"
>TcType</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:checkInstTermination"
><A NAME="v%3AcheckInstTermination"
></A
></A
><B
>checkInstTermination</B
> :: [<A HREF="TcMType.html#t%3ATcType"
>TcType</A
>] -&gt; <A HREF="Type.html#t%3AThetaType"
>ThetaType</A
> -&gt; [<A HREF="ErrUtils.html#t%3AMessage"
>Message</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:checkValidTypeInst"
><A NAME="v%3AcheckValidTypeInst"
></A
></A
><B
>checkValidTypeInst</B
> :: [<A HREF="Type.html#t%3AType"
>Type</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:checkTyFamFreeness"
><A NAME="v%3AcheckTyFamFreeness"
></A
></A
><B
>checkTyFamFreeness</B
> :: <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:checkUpdateMeta"
><A NAME="v%3AcheckUpdateMeta"
></A
></A
><B
>checkUpdateMeta</B
> :: SwapFlag -&gt; <A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
> -&gt; <A HREF="../base/Data-IORef.html#t%3AIORef"
>IORef</A
> <A HREF="TcType.html#t%3AMetaDetails"
>MetaDetails</A
> -&gt; <A HREF="TcMType.html#t%3ATcType"
>TcType</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:updateMeta"
><A NAME="v%3AupdateMeta"
></A
></A
><B
>updateMeta</B
> :: <A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
> -&gt; <A HREF="../base/Data-IORef.html#t%3AIORef"
>IORef</A
> <A HREF="TcType.html#t%3AMetaDetails"
>MetaDetails</A
> -&gt; <A HREF="TcMType.html#t%3ATcType"
>TcType</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:checkTauTvUpdate"
><A NAME="v%3AcheckTauTvUpdate"
></A
></A
><B
>checkTauTvUpdate</B
> :: <A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
> -&gt; <A HREF="TcMType.html#t%3ATcType"
>TcType</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="TcMType.html#t%3ATcType"
>TcType</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:fillBoxWithTau"
><A NAME="v%3AfillBoxWithTau"
></A
></A
><B
>fillBoxWithTau</B
> :: <A HREF="TcType.html#t%3ABoxyTyVar"
>BoxyTyVar</A
> -&gt; <A HREF="../base/Data-IORef.html#t%3AIORef"
>IORef</A
> <A HREF="TcType.html#t%3AMetaDetails"
>MetaDetails</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcMType.html#t%3ATcType"
>TcType</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unifyKindCtxt"
><A NAME="v%3AunifyKindCtxt"
></A
></A
><B
>unifyKindCtxt</B
> :: <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="Var.html#t%3ATyVar"
>TyVar</A
> -&gt; <A HREF="Type.html#t%3AType"
>Type</A
> -&gt; <A HREF="VarEnv.html#t%3ATidyEnv"
>TidyEnv</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> (<A HREF="VarEnv.html#t%3ATidyEnv"
>TidyEnv</A
>, <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unifyKindMisMatch"
><A NAME="v%3AunifyKindMisMatch"
></A
></A
><B
>unifyKindMisMatch</B
> :: <A HREF="TcMType.html#t%3ATcKind"
>TcKind</A
> -&gt; <A HREF="TcMType.html#t%3ATcKind"
>TcKind</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:validDerivPred"
><A NAME="v%3AvalidDerivPred"
></A
></A
><B
>validDerivPred</B
> :: <A HREF="Type.html#t%3APredType"
>PredType</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:arityErr"
><A NAME="v%3AarityErr"
></A
></A
><B
>arityErr</B
> :: <A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> a =&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; a -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</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:notMonoType"
><A NAME="v%3AnotMonoType"
></A
></A
><B
>notMonoType</B
> ::  <A HREF="TcMType.html#t%3ATcType"
>TcType</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:notMonoArgs"
><A NAME="v%3AnotMonoArgs"
></A
></A
><B
>notMonoArgs</B
> ::  <A HREF="TcMType.html#t%3ATcType"
>TcType</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:zonkType"
><A NAME="v%3AzonkType"
></A
></A
><B
>zonkType</B
> :: (<A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="Type.html#t%3AType"
>Type</A
>) -&gt; <A HREF="TcMType.html#t%3ATcType"
>TcType</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="Type.html#t%3AType"
>Type</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:zonkTcPredType"
><A NAME="v%3AzonkTcPredType"
></A
></A
><B
>zonkTcPredType</B
> :: <A HREF="TcType.html#t%3ATcPredType"
>TcPredType</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcType.html#t%3ATcPredType"
>TcPredType</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:zonkTcTyVar"
><A NAME="v%3AzonkTcTyVar"
></A
></A
><B
>zonkTcTyVar</B
> :: <A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcMType.html#t%3ATcType"
>TcType</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:zonkTcTyVars"
><A NAME="v%3AzonkTcTyVars"
></A
></A
><B
>zonkTcTyVars</B
> :: [<A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
>] -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> [<A HREF="TcMType.html#t%3ATcType"
>TcType</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:zonkTcTyVarsAndFV"
><A NAME="v%3AzonkTcTyVarsAndFV"
></A
></A
><B
>zonkTcTyVarsAndFV</B
> :: [<A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
>] -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcMType.html#t%3ATcTyVarSet"
>TcTyVarSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:zonkSigTyVar"
><A NAME="v%3AzonkSigTyVar"
></A
></A
><B
>zonkSigTyVar</B
> :: <A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:zonkQuantifiedTyVar"
><A NAME="v%3AzonkQuantifiedTyVar"
></A
></A
><B
>zonkQuantifiedTyVar</B
> :: <A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:zonkQuantifiedTyVars"
><A NAME="v%3AzonkQuantifiedTyVars"
></A
></A
><B
>zonkQuantifiedTyVars</B
> :: [<A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
>] -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> [<A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:zonkTcType"
><A NAME="v%3AzonkTcType"
></A
></A
><B
>zonkTcType</B
> :: <A HREF="TcMType.html#t%3ATcType"
>TcType</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcMType.html#t%3ATcType"
>TcType</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:zonkTcTypes"
><A NAME="v%3AzonkTcTypes"
></A
></A
><B
>zonkTcTypes</B
> :: [<A HREF="TcMType.html#t%3ATcType"
>TcType</A
>] -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> [<A HREF="TcMType.html#t%3ATcType"
>TcType</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:zonkTcThetaType"
><A NAME="v%3AzonkTcThetaType"
></A
></A
><B
>zonkTcThetaType</B
> :: <A HREF="TcMType.html#t%3ATcThetaType"
>TcThetaType</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcMType.html#t%3ATcThetaType"
>TcThetaType</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:zonkTcKindToKind"
><A NAME="v%3AzonkTcKindToKind"
></A
></A
><B
>zonkTcKindToKind</B
> :: <A HREF="TcMType.html#t%3ATcKind"
>TcKind</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="Type.html#t%3AKind"
>Kind</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:zonkTcKind"
><A NAME="v%3AzonkTcKind"
></A
></A
><B
>zonkTcKind</B
> :: <A HREF="TcMType.html#t%3ATcKind"
>TcKind</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcMType.html#t%3ATcKind"
>TcKind</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:zonkTopTyVar"
><A NAME="v%3AzonkTopTyVar"
></A
></A
><B
>zonkTopTyVar</B
> :: <A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcMType.html#t%3ATcTyVar"
>TcTyVar</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readKindVar"
><A NAME="v%3AreadKindVar"
></A
></A
><B
>readKindVar</B
> :: <A HREF="Type.html#t%3AKindVar"
>KindVar</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcM"
>TcM</A
> <A HREF="TcType.html#t%3AMetaDetails"
>MetaDetails</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeKindVar"
><A NAME="v%3AwriteKindVar"
></A
></A
><B
>writeKindVar</B
> :: <A HREF="Type.html#t%3AKindVar"
>KindVar</A
> -&gt; <A HREF="TcMType.html#t%3ATcKind"
>TcKind</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="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 2.4.2</TD
></TR
></TABLE
></BODY
></HTML
>