Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > da2ed07af0cf0f424d74f4cc6829a27c > files > 962

ghc-ghc-devel-6.12.3-8.6.fc14.i686.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
>HsDecls</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_HsDecls.html")};</SCRIPT
></HEAD
><BODY
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topbar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
></TD
><TD CLASS="title"
>ghc-6.12.3: The GHC API</TD
><TD CLASS="topbut"
><A HREF="index.html"
>Contents</A
></TD
><TD CLASS="topbut"
><A HREF="doc-index.html"
>Index</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="modulebar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><FONT SIZE="6"
>HsDecls</FONT
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><B
>Contents</B
></TD
></TR
><TR
><TD
><DL
><DT
><A HREF="#1"
>Toplevel declarations
</A
></DT
><DD
><DL
><DT
><A HREF="#2"
>Class or type declarations
</A
></DT
><DT
><A HREF="#3"
>Instance declarations
</A
></DT
><DT
><A HREF="#4"
>Standalone deriving declarations
</A
></DT
><DT
><A HREF="#5"
><TT
>RULE</TT
> declarations
</A
></DT
><DT
><A HREF="#6"
><TT
>default</TT
> declarations
</A
></DT
><DT
><A HREF="#7"
>Top-level template haskell splice
</A
></DT
><DT
><A HREF="#8"
>Foreign function interface declarations
</A
></DT
><DT
><A HREF="#9"
>Data-constructor declarations
</A
></DT
><DT
><A HREF="#10"
>Document comments
</A
></DT
><DT
><A HREF="#11"
>Deprecations
</A
></DT
><DT
><A HREF="#12"
>Annotations
</A
></DT
></DL
></DD
><DT
><A HREF="#13"
>Grouping
</A
></DT
></DL
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Description</TD
></TR
><TR
><TD CLASS="doc"
><P
>Abstract syntax of global declarations.
</P
><P
>Definitions for: <TT
>TyDecl</TT
> and <TT
>ConDecl</TT
>, <TT
>ClassDecl</TT
>,
 <TT
>InstDecl</TT
>, <TT
>DefaultDecl</TT
> and <TT
>ForeignDecl</TT
>.
</P
></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"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AHsDecl"
>HsDecl</A
> id </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ATyClD"
>TyClD</A
> (<A HREF="HsDecls.html#t%3ATyClDecl"
>TyClDecl</A
> id)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AInstD"
>InstD</A
> (<A HREF="HsDecls.html#t%3AInstDecl"
>InstDecl</A
> id)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ADerivD"
>DerivD</A
> (<A HREF="HsDecls.html#t%3ADerivDecl"
>DerivDecl</A
> id)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AValD"
>ValD</A
> (<A HREF="HsBinds.html#t%3AHsBind"
>HsBind</A
> id)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ASigD"
>SigD</A
> (<A HREF="HsBinds.html#t%3ASig"
>Sig</A
> id)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ADefD"
>DefD</A
> (<A HREF="HsDecls.html#t%3ADefaultDecl"
>DefaultDecl</A
> id)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AForD"
>ForD</A
> (<A HREF="HsDecls.html#t%3AForeignDecl"
>ForeignDecl</A
> id)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AWarningD"
>WarningD</A
> (<A HREF="HsDecls.html#t%3AWarnDecl"
>WarnDecl</A
> id)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AAnnD"
>AnnD</A
> (<A HREF="HsDecls.html#t%3AAnnDecl"
>AnnDecl</A
> id)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARuleD"
>RuleD</A
> (<A HREF="HsDecls.html#t%3ARuleDecl"
>RuleDecl</A
> id)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ASpliceD"
>SpliceD</A
> (<A HREF="HsDecls.html#t%3ASpliceDecl"
>SpliceDecl</A
> id)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ADocD"
>DocD</A
> <A HREF="HsDecls.html#t%3ADocDecl"
>DocDecl</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ALHsDecl"
>LHsDecl</A
> id = <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsDecls.html#t%3AHsDecl"
>HsDecl</A
> id)</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%3ATyClDecl"
>TyClDecl</A
> name </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AForeignType"
>ForeignType</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtcdLName"
>tcdLName</A
> :: <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> name</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtcdExtName"
>tcdExtName</A
> :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="FastString.html#t%3AFastString"
>FastString</A
></TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATyFamily"
>TyFamily</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtcdFlavour"
>tcdFlavour</A
> :: <A HREF="HsDecls.html#t%3AFamilyFlavour"
>FamilyFlavour</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtcdLName"
>tcdLName</A
> :: <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> name</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtcdTyVars"
>tcdTyVars</A
> :: [<A HREF="HsTypes.html#t%3ALHsTyVarBndr"
>LHsTyVarBndr</A
> name]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtcdKind"
>tcdKind</A
> :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="Type.html#t%3AKind"
>Kind</A
></TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATyData"
>TyData</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtcdND"
>tcdND</A
> :: <A HREF="HsDecls.html#t%3ANewOrData"
>NewOrData</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtcdCtxt"
>tcdCtxt</A
> :: <A HREF="HsTypes.html#t%3ALHsContext"
>LHsContext</A
> name</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtcdLName"
>tcdLName</A
> :: <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> name</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtcdTyVars"
>tcdTyVars</A
> :: [<A HREF="HsTypes.html#t%3ALHsTyVarBndr"
>LHsTyVarBndr</A
> name]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtcdTyPats"
>tcdTyPats</A
> :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> [<A HREF="HsTypes.html#t%3ALHsType"
>LHsType</A
> name]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtcdKindSig"
>tcdKindSig</A
> :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="Type.html#t%3AKind"
>Kind</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtcdCons"
>tcdCons</A
> :: [<A HREF="HsDecls.html#t%3ALConDecl"
>LConDecl</A
> name]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtcdDerivs"
>tcdDerivs</A
> :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> [<A HREF="HsTypes.html#t%3ALHsType"
>LHsType</A
> name]</TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATySynonym"
>TySynonym</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtcdLName"
>tcdLName</A
> :: <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> name</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtcdTyVars"
>tcdTyVars</A
> :: [<A HREF="HsTypes.html#t%3ALHsTyVarBndr"
>LHsTyVarBndr</A
> name]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtcdTyPats"
>tcdTyPats</A
> :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> [<A HREF="HsTypes.html#t%3ALHsType"
>LHsType</A
> name]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtcdSynRhs"
>tcdSynRhs</A
> :: <A HREF="HsTypes.html#t%3ALHsType"
>LHsType</A
> name</TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AClassDecl"
>ClassDecl</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtcdCtxt"
>tcdCtxt</A
> :: <A HREF="HsTypes.html#t%3ALHsContext"
>LHsContext</A
> name</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtcdLName"
>tcdLName</A
> :: <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> name</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtcdTyVars"
>tcdTyVars</A
> :: [<A HREF="HsTypes.html#t%3ALHsTyVarBndr"
>LHsTyVarBndr</A
> name]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtcdFDs"
>tcdFDs</A
> :: [<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="Class.html#t%3AFunDep"
>FunDep</A
> name)]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtcdSigs"
>tcdSigs</A
> :: [<A HREF="HsBinds.html#t%3ALSig"
>LSig</A
> name]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtcdMeths"
>tcdMeths</A
> :: <A HREF="HsBinds.html#t%3ALHsBinds"
>LHsBinds</A
> name</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtcdATs"
>tcdATs</A
> :: [<A HREF="HsDecls.html#t%3ALTyClDecl"
>LTyClDecl</A
> name]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtcdDocs"
>tcdDocs</A
> :: [<A HREF="HsDecls.html#t%3ALDocDecl"
>LDocDecl</A
>]</TD
></TR
></TABLE
>}</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ALTyClDecl"
>LTyClDecl</A
> name = <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsDecls.html#t%3ATyClDecl"
>TyClDecl</A
> name)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisClassDecl"
>isClassDecl</A
> ::  <A HREF="HsDecls.html#t%3ATyClDecl"
>TyClDecl</A
> name -&gt; <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisSynDecl"
>isSynDecl</A
> ::  <A HREF="HsDecls.html#t%3ATyClDecl"
>TyClDecl</A
> name -&gt; <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisDataDecl"
>isDataDecl</A
> ::  <A HREF="HsDecls.html#t%3ATyClDecl"
>TyClDecl</A
> name -&gt; <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisTypeDecl"
>isTypeDecl</A
> ::  <A HREF="HsDecls.html#t%3ATyClDecl"
>TyClDecl</A
> name -&gt; <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisFamilyDecl"
>isFamilyDecl</A
> ::  <A HREF="HsDecls.html#t%3ATyClDecl"
>TyClDecl</A
> name -&gt; <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisFamInstDecl"
>isFamInstDecl</A
> ::  <A HREF="HsDecls.html#t%3ATyClDecl"
>TyClDecl</A
> name -&gt; <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtcdName"
>tcdName</A
> ::  <A HREF="HsDecls.html#t%3ATyClDecl"
>TyClDecl</A
> name -&gt; name</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtyClDeclNames"
>tyClDeclNames</A
> :: <A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> name =&gt; <A HREF="HsDecls.html#t%3ATyClDecl"
>TyClDecl</A
> name -&gt; [<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> name]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtyClDeclTyVars"
>tyClDeclTyVars</A
> ::  <A HREF="HsDecls.html#t%3ATyClDecl"
>TyClDecl</A
> name -&gt; [<A HREF="HsTypes.html#t%3ALHsTyVarBndr"
>LHsTyVarBndr</A
> name]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcountTyClDecls"
>countTyClDecls</A
> ::  [<A HREF="HsDecls.html#t%3ATyClDecl"
>TyClDecl</A
> name] -&gt; (<A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>, <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>, <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>, <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>, <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>, <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AInstDecl"
>InstDecl</A
> name = <A HREF="#v%3AInstDecl"
>InstDecl</A
> (<A HREF="HsTypes.html#t%3ALHsType"
>LHsType</A
> name) (<A HREF="HsBinds.html#t%3ALHsBinds"
>LHsBinds</A
> name) [<A HREF="HsBinds.html#t%3ALSig"
>LSig</A
> name] [<A HREF="HsDecls.html#t%3ALTyClDecl"
>LTyClDecl</A
> name]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ALInstDecl"
>LInstDecl</A
> name = <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsDecls.html#t%3AInstDecl"
>InstDecl</A
> name)</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%3ANewOrData"
>NewOrData</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ANewType"
>NewType</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ADataType"
>DataType</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></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%3AFamilyFlavour"
>FamilyFlavour</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ATypeFamily"
>TypeFamily</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ADataFamily"
>DataFamily</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AinstDeclATs"
>instDeclATs</A
> ::  <A HREF="HsDecls.html#t%3AInstDecl"
>InstDecl</A
> name -&gt; [<A HREF="HsDecls.html#t%3ALTyClDecl"
>LTyClDecl</A
> name]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ADerivDecl"
>DerivDecl</A
> name = <A HREF="#v%3ADerivDecl"
>DerivDecl</A
> (<A HREF="HsTypes.html#t%3ALHsType"
>LHsType</A
> name)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ALDerivDecl"
>LDerivDecl</A
> name = <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsDecls.html#t%3ADerivDecl"
>DerivDecl</A
> name)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ARuleDecl"
>RuleDecl</A
> name = <A HREF="#v%3AHsRule"
>HsRule</A
> <A HREF="BasicTypes.html#t%3ARuleName"
>RuleName</A
> <A HREF="BasicTypes.html#t%3AActivation"
>Activation</A
> [<A HREF="HsDecls.html#t%3ARuleBndr"
>RuleBndr</A
> name] (<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsExpr.html#t%3AHsExpr"
>HsExpr</A
> name)) <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> (<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsExpr.html#t%3AHsExpr"
>HsExpr</A
> name)) <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ALRuleDecl"
>LRuleDecl</A
> name = <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsDecls.html#t%3ARuleDecl"
>RuleDecl</A
> name)</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%3ARuleBndr"
>RuleBndr</A
> name </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ARuleBndr"
>RuleBndr</A
> (<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> name)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARuleBndrSig"
>RuleBndrSig</A
> (<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> name) (<A HREF="HsTypes.html#t%3ALHsType"
>LHsType</A
> name)</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcollectRuleBndrSigTys"
>collectRuleBndrSigTys</A
> ::  [<A HREF="HsDecls.html#t%3ARuleBndr"
>RuleBndr</A
> name] -&gt; [<A HREF="HsTypes.html#t%3ALHsType"
>LHsType</A
> name]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ADefaultDecl"
>DefaultDecl</A
> name = <A HREF="#v%3ADefaultDecl"
>DefaultDecl</A
> [<A HREF="HsTypes.html#t%3ALHsType"
>LHsType</A
> name]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ALDefaultDecl"
>LDefaultDecl</A
> name = <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsDecls.html#t%3ADefaultDecl"
>DefaultDecl</A
> name)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ASpliceDecl"
>SpliceDecl</A
> id = <A HREF="#v%3ASpliceDecl"
>SpliceDecl</A
> (<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsExpr.html#t%3AHsExpr"
>HsExpr</A
> id))</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%3AForeignDecl"
>ForeignDecl</A
> name </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AForeignImport"
>ForeignImport</A
> (<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> name) (<A HREF="HsTypes.html#t%3ALHsType"
>LHsType</A
> name) <A HREF="HsDecls.html#t%3AForeignImport"
>ForeignImport</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AForeignExport"
>ForeignExport</A
> (<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> name) (<A HREF="HsTypes.html#t%3ALHsType"
>LHsType</A
> name) <A HREF="HsDecls.html#t%3AForeignExport"
>ForeignExport</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ALForeignDecl"
>LForeignDecl</A
> name = <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsDecls.html#t%3AForeignDecl"
>ForeignDecl</A
> name)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AForeignImport"
>ForeignImport</A
>  = <A HREF="#v%3ACImport"
>CImport</A
> <A HREF="ForeignCall.html#t%3ACCallConv"
>CCallConv</A
> <A HREF="ForeignCall.html#t%3ASafety"
>Safety</A
> <A HREF="FastString.html#t%3AFastString"
>FastString</A
> <A HREF="HsDecls.html#t%3ACImportSpec"
>CImportSpec</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AForeignExport"
>ForeignExport</A
>  = <A HREF="#v%3ACExport"
>CExport</A
> <A HREF="ForeignCall.html#t%3ACExportSpec"
>CExportSpec</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%3ACImportSpec"
>CImportSpec</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ACLabel"
>CLabel</A
> <A HREF="ForeignCall.html#t%3ACLabelString"
>CLabelString</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ACFunction"
>CFunction</A
> <A HREF="ForeignCall.html#t%3ACCallTarget"
>CCallTarget</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ACWrapper"
>CWrapper</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%3AConDecl"
>ConDecl</A
> name = <A HREF="#v%3AConDecl"
>ConDecl</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3Acon_name"
>con_name</A
> :: <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> name</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Acon_explicit"
>con_explicit</A
> :: <A HREF="HsTypes.html#t%3AHsExplicitForAll"
>HsExplicitForAll</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Acon_qvars"
>con_qvars</A
> :: [<A HREF="HsTypes.html#t%3ALHsTyVarBndr"
>LHsTyVarBndr</A
> name]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Acon_cxt"
>con_cxt</A
> :: <A HREF="HsTypes.html#t%3ALHsContext"
>LHsContext</A
> name</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Acon_details"
>con_details</A
> :: <A HREF="HsDecls.html#t%3AHsConDeclDetails"
>HsConDeclDetails</A
> name</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Acon_res"
>con_res</A
> :: <A HREF="HsDecls.html#t%3AResType"
>ResType</A
> name</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Acon_doc"
>con_doc</A
> :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="HsDoc.html#t%3ALHsDocString"
>LHsDocString</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Acon_old_rec"
>con_old_rec</A
> :: <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ALConDecl"
>LConDecl</A
> name = <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsDecls.html#t%3AConDecl"
>ConDecl</A
> name)</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%3AResType"
>ResType</A
> name </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AResTyH98"
>ResTyH98</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AResTyGADT"
>ResTyGADT</A
> (<A HREF="HsTypes.html#t%3ALHsType"
>LHsType</A
> name)</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AHsConDeclDetails"
>HsConDeclDetails</A
> name = <A HREF="HsPat.html#t%3AHsConDetails"
>HsConDetails</A
> (<A HREF="HsTypes.html#t%3ALBangType"
>LBangType</A
> name) [<A HREF="HsTypes.html#t%3AConDeclField"
>ConDeclField</A
> name]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AhsConDeclArgTys"
>hsConDeclArgTys</A
> ::  <A HREF="HsDecls.html#t%3AHsConDeclDetails"
>HsConDeclDetails</A
> name -&gt; [<A HREF="HsTypes.html#t%3ALBangType"
>LBangType</A
> name]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AhsConDeclsNames"
>hsConDeclsNames</A
> :: <A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> name =&gt; [<A HREF="HsDecls.html#t%3ALConDecl"
>LConDecl</A
> name] -&gt; [<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> name]</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%3ADocDecl"
>DocDecl</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ADocCommentNext"
>DocCommentNext</A
> <A HREF="HsDoc.html#t%3AHsDocString"
>HsDocString</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ADocCommentPrev"
>DocCommentPrev</A
> <A HREF="HsDoc.html#t%3AHsDocString"
>HsDocString</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ADocCommentNamed"
>DocCommentNamed</A
> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> <A HREF="HsDoc.html#t%3AHsDocString"
>HsDocString</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ADocGroup"
>DocGroup</A
> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> <A HREF="HsDoc.html#t%3AHsDocString"
>HsDocString</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ALDocDecl"
>LDocDecl</A
> = <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> <A HREF="HsDecls.html#t%3ADocDecl"
>DocDecl</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdocDeclDoc"
>docDeclDoc</A
> :: <A HREF="HsDecls.html#t%3ADocDecl"
>DocDecl</A
> -&gt; <A HREF="HsDoc.html#t%3AHsDocString"
>HsDocString</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AWarnDecl"
>WarnDecl</A
> name = <A HREF="#v%3AWarning"
>Warning</A
> name <A HREF="BasicTypes.html#t%3AWarningTxt"
>WarningTxt</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ALWarnDecl"
>LWarnDecl</A
> name = <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsDecls.html#t%3AWarnDecl"
>WarnDecl</A
> name)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AAnnDecl"
>AnnDecl</A
> name = <A HREF="#v%3AHsAnnotation"
>HsAnnotation</A
> (<A HREF="HsDecls.html#t%3AAnnProvenance"
>AnnProvenance</A
> name) (<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsExpr.html#t%3AHsExpr"
>HsExpr</A
> name))</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ALAnnDecl"
>LAnnDecl</A
> name = <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsDecls.html#t%3AAnnDecl"
>AnnDecl</A
> name)</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%3AAnnProvenance"
>AnnProvenance</A
> name </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AValueAnnProvenance"
>ValueAnnProvenance</A
> name</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATypeAnnProvenance"
>TypeAnnProvenance</A
> name</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AModuleAnnProvenance"
>ModuleAnnProvenance</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AannProvenanceName_maybe"
>annProvenanceName_maybe</A
> ::  <A HREF="HsDecls.html#t%3AAnnProvenance"
>AnnProvenance</A
> name -&gt; <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> name</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmodifyAnnProvenanceNameM"
>modifyAnnProvenanceNameM</A
> :: <A HREF="../base-4.2.0.2/Control-Monad.html#t%3AMonad"
>Monad</A
> m =&gt; (before -&gt; m after) -&gt; <A HREF="HsDecls.html#t%3AAnnProvenance"
>AnnProvenance</A
> before -&gt; m (<A HREF="HsDecls.html#t%3AAnnProvenance"
>AnnProvenance</A
> after)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AHsGroup"
>HsGroup</A
> id = <A HREF="#v%3AHsGroup"
>HsGroup</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3Ahs_valds"
>hs_valds</A
> :: <A HREF="HsBinds.html#t%3AHsValBinds"
>HsValBinds</A
> id</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Ahs_tyclds"
>hs_tyclds</A
> :: [<A HREF="HsDecls.html#t%3ALTyClDecl"
>LTyClDecl</A
> id]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Ahs_instds"
>hs_instds</A
> :: [<A HREF="HsDecls.html#t%3ALInstDecl"
>LInstDecl</A
> id]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Ahs_derivds"
>hs_derivds</A
> :: [<A HREF="HsDecls.html#t%3ALDerivDecl"
>LDerivDecl</A
> id]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Ahs_fixds"
>hs_fixds</A
> :: [<A HREF="HsBinds.html#t%3ALFixitySig"
>LFixitySig</A
> id]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Ahs_defds"
>hs_defds</A
> :: [<A HREF="HsDecls.html#t%3ALDefaultDecl"
>LDefaultDecl</A
> id]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Ahs_fords"
>hs_fords</A
> :: [<A HREF="HsDecls.html#t%3ALForeignDecl"
>LForeignDecl</A
> id]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Ahs_warnds"
>hs_warnds</A
> :: [<A HREF="HsDecls.html#t%3ALWarnDecl"
>LWarnDecl</A
> id]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Ahs_annds"
>hs_annds</A
> :: [<A HREF="HsDecls.html#t%3ALAnnDecl"
>LAnnDecl</A
> id]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Ahs_ruleds"
>hs_ruleds</A
> :: [<A HREF="HsDecls.html#t%3ALRuleDecl"
>LRuleDecl</A
> id]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Ahs_docs"
>hs_docs</A
> :: [<A HREF="HsDecls.html#t%3ALDocDecl"
>LDocDecl</A
>]</TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AemptyRdrGroup"
>emptyRdrGroup</A
> ::  <A HREF="HsDecls.html#t%3AHsGroup"
>HsGroup</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AemptyRnGroup"
>emptyRnGroup</A
> ::  <A HREF="HsDecls.html#t%3AHsGroup"
>HsGroup</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AappendGroups"
>appendGroups</A
> ::  <A HREF="HsDecls.html#t%3AHsGroup"
>HsGroup</A
> a -&gt; <A HREF="HsDecls.html#t%3AHsGroup"
>HsGroup</A
> a -&gt; <A HREF="HsDecls.html#t%3AHsGroup"
>HsGroup</A
> a</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="1"
><A NAME="1"
>Toplevel declarations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:HsDecl"
><A NAME="t%3AHsDecl"
></A
></A
><B
>HsDecl</B
> id </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A Haskell Declaration
</TD
></TR
><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:TyClD"
><A NAME="v%3ATyClD"
></A
></A
><B
>TyClD</B
> (<A HREF="HsDecls.html#t%3ATyClDecl"
>TyClDecl</A
> id)</TD
><TD CLASS="rdoc"
>A type or class declaration.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:InstD"
><A NAME="v%3AInstD"
></A
></A
><B
>InstD</B
> (<A HREF="HsDecls.html#t%3AInstDecl"
>InstDecl</A
> id)</TD
><TD CLASS="rdoc"
>An instance declaration.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:DerivD"
><A NAME="v%3ADerivD"
></A
></A
><B
>DerivD</B
> (<A HREF="HsDecls.html#t%3ADerivDecl"
>DerivDecl</A
> id)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ValD"
><A NAME="v%3AValD"
></A
></A
><B
>ValD</B
> (<A HREF="HsBinds.html#t%3AHsBind"
>HsBind</A
> id)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:SigD"
><A NAME="v%3ASigD"
></A
></A
><B
>SigD</B
> (<A HREF="HsBinds.html#t%3ASig"
>Sig</A
> id)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:DefD"
><A NAME="v%3ADefD"
></A
></A
><B
>DefD</B
> (<A HREF="HsDecls.html#t%3ADefaultDecl"
>DefaultDecl</A
> id)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ForD"
><A NAME="v%3AForD"
></A
></A
><B
>ForD</B
> (<A HREF="HsDecls.html#t%3AForeignDecl"
>ForeignDecl</A
> id)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:WarningD"
><A NAME="v%3AWarningD"
></A
></A
><B
>WarningD</B
> (<A HREF="HsDecls.html#t%3AWarnDecl"
>WarnDecl</A
> id)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:AnnD"
><A NAME="v%3AAnnD"
></A
></A
><B
>AnnD</B
> (<A HREF="HsDecls.html#t%3AAnnDecl"
>AnnDecl</A
> id)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RuleD"
><A NAME="v%3ARuleD"
></A
></A
><B
>RuleD</B
> (<A HREF="HsDecls.html#t%3ARuleDecl"
>RuleDecl</A
> id)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:SpliceD"
><A NAME="v%3ASpliceD"
></A
></A
><B
>SpliceD</B
> (<A HREF="HsDecls.html#t%3ASpliceDecl"
>SpliceDecl</A
> id)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:DocD"
><A NAME="v%3ADocD"
></A
></A
><B
>DocD</B
> <A HREF="HsDecls.html#t%3ADocDecl"
>DocDecl</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:HsDecl')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:HsDecl" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputableBndr"
>OutputableBndr</A
> name =&gt; <A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> (<A HREF="HsDecls.html#t%3AHsDecl"
>HsDecl</A
> name)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:LHsDecl"
><A NAME="t%3ALHsDecl"
></A
></A
><B
>LHsDecl</B
> id = <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsDecls.html#t%3AHsDecl"
>HsDecl</A
> id)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="2"
><A NAME="2"
>Class or type declarations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:TyClDecl"
><A NAME="t%3ATyClDecl"
></A
></A
><B
>TyClDecl</B
> name </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A type or class declaration.
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:ForeignType"
><A NAME="v%3AForeignType"
></A
></A
><B
>ForeignType</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="body" COLSPAN="2"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:tcdLName"
><A NAME="v%3AtcdLName"
></A
></A
><B
>tcdLName</B
> :: <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> name</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:tcdExtName"
><A NAME="v%3AtcdExtName"
></A
></A
><B
>tcdExtName</B
> :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="FastString.html#t%3AFastString"
>FastString</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TyFamily"
><A NAME="v%3ATyFamily"
></A
></A
><B
>TyFamily</B
></TD
><TD CLASS="rdoc"
><PRE
>type/data family T :: *-&gt;*</PRE
></TD
></TR
><TR
><TD CLASS="body" COLSPAN="2"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:tcdFlavour"
><A NAME="v%3AtcdFlavour"
></A
></A
><B
>tcdFlavour</B
> :: <A HREF="HsDecls.html#t%3AFamilyFlavour"
>FamilyFlavour</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:tcdLName"
><A NAME="v%3AtcdLName"
></A
></A
><B
>tcdLName</B
> :: <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> name</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:tcdTyVars"
><A NAME="v%3AtcdTyVars"
></A
></A
><B
>tcdTyVars</B
> :: [<A HREF="HsTypes.html#t%3ALHsTyVarBndr"
>LHsTyVarBndr</A
> name]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:tcdKind"
><A NAME="v%3AtcdKind"
></A
></A
><B
>tcdKind</B
> :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="Type.html#t%3AKind"
>Kind</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TyData"
><A NAME="v%3ATyData"
></A
></A
><B
>TyData</B
></TD
><TD CLASS="rdoc"
>Declares a data type or newtype, giving its construcors
 <TT
>
 	data/newtype T a = <A HREF="constrs"
>constrs</A
>
	data/newtype instance T [a] = <A HREF="constrs"
>constrs</A
>
 </TT
>
</TD
></TR
><TR
><TD CLASS="body" COLSPAN="2"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:tcdND"
><A NAME="v%3AtcdND"
></A
></A
><B
>tcdND</B
> :: <A HREF="HsDecls.html#t%3ANewOrData"
>NewOrData</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:tcdCtxt"
><A NAME="v%3AtcdCtxt"
></A
></A
><B
>tcdCtxt</B
> :: <A HREF="HsTypes.html#t%3ALHsContext"
>LHsContext</A
> name</TD
><TD CLASS="rdoc"
>Context
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:tcdLName"
><A NAME="v%3AtcdLName"
></A
></A
><B
>tcdLName</B
> :: <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> name</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:tcdTyVars"
><A NAME="v%3AtcdTyVars"
></A
></A
><B
>tcdTyVars</B
> :: [<A HREF="HsTypes.html#t%3ALHsTyVarBndr"
>LHsTyVarBndr</A
> name]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:tcdTyPats"
><A NAME="v%3AtcdTyPats"
></A
></A
><B
>tcdTyPats</B
> :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> [<A HREF="HsTypes.html#t%3ALHsType"
>LHsType</A
> name]</TD
><TD CLASS="rdoc"
><P
>Type patterns.
</P
><P
><TT
>Just [t1..tn]</TT
> for <TT
>data instance T t1..tn = ...</TT
>
	in this case <TT
>tcdTyVars = fv( tcdTyPats )</TT
>.
 <TT
>Nothing</TT
> for everything else.
</P
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:tcdKindSig"
><A NAME="v%3AtcdKindSig"
></A
></A
><B
>tcdKindSig</B
> :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="Type.html#t%3AKind"
>Kind</A
></TD
><TD CLASS="rdoc"
><P
>Optional kind signature.
</P
><P
><TT
>(Just k)</TT
> for a GADT-style <TT
>data</TT
>, or <TT
>data
 instance</TT
> decl with explicit kind sig
</P
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:tcdCons"
><A NAME="v%3AtcdCons"
></A
></A
><B
>tcdCons</B
> :: [<A HREF="HsDecls.html#t%3ALConDecl"
>LConDecl</A
> name]</TD
><TD CLASS="rdoc"
><P
>Data constructors
</P
><P
>For <TT
>data T a = T1 | T2 a</TT
>
   the <TT
><A HREF="HsDecls.html#t%3ALConDecl"
>LConDecl</A
></TT
>s all have <TT
><A HREF="HsDecls.html#v%3AResTyH98"
>ResTyH98</A
></TT
>.
 For <TT
>data T a where { T1 :: T a }</TT
>
   the LConDecls all have <TT
><A HREF="HsDecls.html#v%3AResTyGADT"
>ResTyGADT</A
></TT
>.
</P
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:tcdDerivs"
><A NAME="v%3AtcdDerivs"
></A
></A
><B
>tcdDerivs</B
> :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> [<A HREF="HsTypes.html#t%3ALHsType"
>LHsType</A
> name]</TD
><TD CLASS="rdoc"
><P
>Derivings; <TT
>Nothing</TT
> =&gt; not specified,
 	        <TT
>Just []</TT
> =&gt; derive exactly what is asked
</P
><P
>These <A HREF="types.html"
>types</A
> must be of form
 <TT
>
	forall ab. C ty1 ty2
 </TT
>
 Typically the foralls and ty args are empty, but they
 are non-empty for the newtype-deriving case
</P
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TySynonym"
><A NAME="v%3ATySynonym"
></A
></A
><B
>TySynonym</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="body" COLSPAN="2"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:tcdLName"
><A NAME="v%3AtcdLName"
></A
></A
><B
>tcdLName</B
> :: <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> name</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:tcdTyVars"
><A NAME="v%3AtcdTyVars"
></A
></A
><B
>tcdTyVars</B
> :: [<A HREF="HsTypes.html#t%3ALHsTyVarBndr"
>LHsTyVarBndr</A
> name]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:tcdTyPats"
><A NAME="v%3AtcdTyPats"
></A
></A
><B
>tcdTyPats</B
> :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> [<A HREF="HsTypes.html#t%3ALHsType"
>LHsType</A
> name]</TD
><TD CLASS="rdoc"
><P
>Type patterns.
</P
><P
><TT
>Just [t1..tn]</TT
> for <TT
>data instance T t1..tn = ...</TT
>
	in this case <TT
>tcdTyVars = fv( tcdTyPats )</TT
>.
 <TT
>Nothing</TT
> for everything else.
</P
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:tcdSynRhs"
><A NAME="v%3AtcdSynRhs"
></A
></A
><B
>tcdSynRhs</B
> :: <A HREF="HsTypes.html#t%3ALHsType"
>LHsType</A
> name</TD
><TD CLASS="rdoc"
>synonym expansion
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ClassDecl"
><A NAME="v%3AClassDecl"
></A
></A
><B
>ClassDecl</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="body" COLSPAN="2"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:tcdCtxt"
><A NAME="v%3AtcdCtxt"
></A
></A
><B
>tcdCtxt</B
> :: <A HREF="HsTypes.html#t%3ALHsContext"
>LHsContext</A
> name</TD
><TD CLASS="rdoc"
>Context
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:tcdLName"
><A NAME="v%3AtcdLName"
></A
></A
><B
>tcdLName</B
> :: <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> name</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:tcdTyVars"
><A NAME="v%3AtcdTyVars"
></A
></A
><B
>tcdTyVars</B
> :: [<A HREF="HsTypes.html#t%3ALHsTyVarBndr"
>LHsTyVarBndr</A
> name]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:tcdFDs"
><A NAME="v%3AtcdFDs"
></A
></A
><B
>tcdFDs</B
> :: [<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="Class.html#t%3AFunDep"
>FunDep</A
> name)]</TD
><TD CLASS="rdoc"
>Functional deps
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:tcdSigs"
><A NAME="v%3AtcdSigs"
></A
></A
><B
>tcdSigs</B
> :: [<A HREF="HsBinds.html#t%3ALSig"
>LSig</A
> name]</TD
><TD CLASS="rdoc"
>Methods' signatures
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:tcdMeths"
><A NAME="v%3AtcdMeths"
></A
></A
><B
>tcdMeths</B
> :: <A HREF="HsBinds.html#t%3ALHsBinds"
>LHsBinds</A
> name</TD
><TD CLASS="rdoc"
>Default methods
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:tcdATs"
><A NAME="v%3AtcdATs"
></A
></A
><B
>tcdATs</B
> :: [<A HREF="HsDecls.html#t%3ALTyClDecl"
>LTyClDecl</A
> name]</TD
><TD CLASS="rdoc"
>Associated types; ie
   only <TT
><A HREF="HsDecls.html#v%3ATyFamily"
>TyFamily</A
></TT
> and
   <TT
><A HREF="HsDecls.html#v%3ATySynonym"
>TySynonym</A
></TT
>; the
   latter for defaults
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:tcdDocs"
><A NAME="v%3AtcdDocs"
></A
></A
><B
>tcdDocs</B
> :: [<A HREF="HsDecls.html#t%3ALDocDecl"
>LDocDecl</A
>]</TD
><TD CLASS="rdoc"
>Haddock docs
</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:TyClDecl')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:TyClDecl" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputableBndr"
>OutputableBndr</A
> name =&gt; <A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> (<A HREF="HsDecls.html#t%3ATyClDecl"
>TyClDecl</A
> name)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:LTyClDecl"
><A NAME="t%3ALTyClDecl"
></A
></A
><B
>LTyClDecl</B
> name = <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsDecls.html#t%3ATyClDecl"
>TyClDecl</A
> name)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isClassDecl"
><A NAME="v%3AisClassDecl"
></A
></A
><B
>isClassDecl</B
> ::  <A HREF="HsDecls.html#t%3ATyClDecl"
>TyClDecl</A
> name -&gt; <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>type class
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isSynDecl"
><A NAME="v%3AisSynDecl"
></A
></A
><B
>isSynDecl</B
> ::  <A HREF="HsDecls.html#t%3ATyClDecl"
>TyClDecl</A
> name -&gt; <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>vanilla Haskell type synonym (ie, not a type instance)
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isDataDecl"
><A NAME="v%3AisDataDecl"
></A
></A
><B
>isDataDecl</B
> ::  <A HREF="HsDecls.html#t%3ATyClDecl"
>TyClDecl</A
> name -&gt; <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
><TT
>True</TT
> <A HREF="="
>=</A
> argument is a <TT
>data</TT
>/<TT
>newtype</TT
> or <TT
>data</TT
>/<TT
>newtype instance</TT
>
 declaration.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isTypeDecl"
><A NAME="v%3AisTypeDecl"
></A
></A
><B
>isTypeDecl</B
> ::  <A HREF="HsDecls.html#t%3ATyClDecl"
>TyClDecl</A
> name -&gt; <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>type or type instance declaration
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isFamilyDecl"
><A NAME="v%3AisFamilyDecl"
></A
></A
><B
>isFamilyDecl</B
> ::  <A HREF="HsDecls.html#t%3ATyClDecl"
>TyClDecl</A
> name -&gt; <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>type family declaration
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isFamInstDecl"
><A NAME="v%3AisFamInstDecl"
></A
></A
><B
>isFamInstDecl</B
> ::  <A HREF="HsDecls.html#t%3ATyClDecl"
>TyClDecl</A
> name -&gt; <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>family instance (types, newtypes, and data types)
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tcdName"
><A NAME="v%3AtcdName"
></A
></A
><B
>tcdName</B
> ::  <A HREF="HsDecls.html#t%3ATyClDecl"
>TyClDecl</A
> name -&gt; name</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tyClDeclNames"
><A NAME="v%3AtyClDeclNames"
></A
></A
><B
>tyClDeclNames</B
> :: <A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> name =&gt; <A HREF="HsDecls.html#t%3ATyClDecl"
>TyClDecl</A
> name -&gt; [<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> name]</TD
></TR
><TR
><TD CLASS="doc"
>Returns all the <EM
>binding</EM
> names of the decl, along with their SrcLocs.
 The first one is guaranteed to be the name of the decl. For record fields
 mentioned in multiple constructors, the SrcLoc will be from the first
 occurence.  We use the equality to filter out duplicate field names
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tyClDeclTyVars"
><A NAME="v%3AtyClDeclTyVars"
></A
></A
><B
>tyClDeclTyVars</B
> ::  <A HREF="HsDecls.html#t%3ATyClDecl"
>TyClDecl</A
> name -&gt; [<A HREF="HsTypes.html#t%3ALHsTyVarBndr"
>LHsTyVarBndr</A
> name]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:countTyClDecls"
><A NAME="v%3AcountTyClDecls"
></A
></A
><B
>countTyClDecls</B
> ::  [<A HREF="HsDecls.html#t%3ATyClDecl"
>TyClDecl</A
> name] -&gt; (<A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>, <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>, <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>, <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>, <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>, <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="3"
><A NAME="3"
>Instance declarations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:InstDecl"
><A NAME="t%3AInstDecl"
></A
></A
><B
>InstDecl</B
> name </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:InstDecl"
><A NAME="v%3AInstDecl"
></A
></A
><B
>InstDecl</B
> (<A HREF="HsTypes.html#t%3ALHsType"
>LHsType</A
> name) (<A HREF="HsBinds.html#t%3ALHsBinds"
>LHsBinds</A
> name) [<A HREF="HsBinds.html#t%3ALSig"
>LSig</A
> name] [<A HREF="HsDecls.html#t%3ALTyClDecl"
>LTyClDecl</A
> name]</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:InstDecl')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:InstDecl" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputableBndr"
>OutputableBndr</A
> name =&gt; <A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> (<A HREF="HsDecls.html#t%3AInstDecl"
>InstDecl</A
> name)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:LInstDecl"
><A NAME="t%3ALInstDecl"
></A
></A
><B
>LInstDecl</B
> name = <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsDecls.html#t%3AInstDecl"
>InstDecl</A
> name)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:NewOrData"
><A NAME="t%3ANewOrData"
></A
></A
><B
>NewOrData</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:NewType"
><A NAME="v%3ANewType"
></A
></A
><B
>NewType</B
></TD
><TD CLASS="rdoc"
><PRE
>newtype Blah ...</PRE
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:DataType"
><A NAME="v%3ADataType"
></A
></A
><B
>DataType</B
></TD
><TD CLASS="rdoc"
><PRE
>data Blah ...</PRE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:NewOrData')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:NewOrData" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="HsDecls.html#t%3ANewOrData"
>NewOrData</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="HsDecls.html#t%3ANewOrData"
>NewOrData</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:FamilyFlavour"
><A NAME="t%3AFamilyFlavour"
></A
></A
><B
>FamilyFlavour</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:TypeFamily"
><A NAME="v%3ATypeFamily"
></A
></A
><B
>TypeFamily</B
></TD
><TD CLASS="rdoc"
><PRE
>type family ...</PRE
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:DataFamily"
><A NAME="v%3ADataFamily"
></A
></A
><B
>DataFamily</B
></TD
><TD CLASS="rdoc"
><PRE
>data family ...</PRE
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:instDeclATs"
><A NAME="v%3AinstDeclATs"
></A
></A
><B
>instDeclATs</B
> ::  <A HREF="HsDecls.html#t%3AInstDecl"
>InstDecl</A
> name -&gt; [<A HREF="HsDecls.html#t%3ALTyClDecl"
>LTyClDecl</A
> name]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="4"
><A NAME="4"
>Standalone deriving declarations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:DerivDecl"
><A NAME="t%3ADerivDecl"
></A
></A
><B
>DerivDecl</B
> name </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:DerivDecl"
><A NAME="v%3ADerivDecl"
></A
></A
><B
>DerivDecl</B
> (<A HREF="HsTypes.html#t%3ALHsType"
>LHsType</A
> name)</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:DerivDecl')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:DerivDecl" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputableBndr"
>OutputableBndr</A
> name =&gt; <A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> (<A HREF="HsDecls.html#t%3ADerivDecl"
>DerivDecl</A
> name)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:LDerivDecl"
><A NAME="t%3ALDerivDecl"
></A
></A
><B
>LDerivDecl</B
> name = <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsDecls.html#t%3ADerivDecl"
>DerivDecl</A
> name)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="5"
><A NAME="5"
><TT
>RULE</TT
> declarations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:RuleDecl"
><A NAME="t%3ARuleDecl"
></A
></A
><B
>RuleDecl</B
> name </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:HsRule"
><A NAME="v%3AHsRule"
></A
></A
><B
>HsRule</B
> <A HREF="BasicTypes.html#t%3ARuleName"
>RuleName</A
> <A HREF="BasicTypes.html#t%3AActivation"
>Activation</A
> [<A HREF="HsDecls.html#t%3ARuleBndr"
>RuleBndr</A
> name] (<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsExpr.html#t%3AHsExpr"
>HsExpr</A
> name)) <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> (<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsExpr.html#t%3AHsExpr"
>HsExpr</A
> name)) <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:RuleDecl')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:RuleDecl" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputableBndr"
>OutputableBndr</A
> name =&gt; <A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> (<A HREF="HsDecls.html#t%3ARuleDecl"
>RuleDecl</A
> name)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:LRuleDecl"
><A NAME="t%3ALRuleDecl"
></A
></A
><B
>LRuleDecl</B
> name = <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsDecls.html#t%3ARuleDecl"
>RuleDecl</A
> name)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:RuleBndr"
><A NAME="t%3ARuleBndr"
></A
></A
><B
>RuleBndr</B
> name </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:RuleBndr"
><A NAME="v%3ARuleBndr"
></A
></A
><B
>RuleBndr</B
> (<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> name)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RuleBndrSig"
><A NAME="v%3ARuleBndrSig"
></A
></A
><B
>RuleBndrSig</B
> (<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> name) (<A HREF="HsTypes.html#t%3ALHsType"
>LHsType</A
> name)</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:RuleBndr')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:RuleBndr" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputableBndr"
>OutputableBndr</A
> name =&gt; <A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> (<A HREF="HsDecls.html#t%3ARuleBndr"
>RuleBndr</A
> name)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:collectRuleBndrSigTys"
><A NAME="v%3AcollectRuleBndrSigTys"
></A
></A
><B
>collectRuleBndrSigTys</B
> ::  [<A HREF="HsDecls.html#t%3ARuleBndr"
>RuleBndr</A
> name] -&gt; [<A HREF="HsTypes.html#t%3ALHsType"
>LHsType</A
> name]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="6"
><A NAME="6"
><TT
>default</TT
> declarations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:DefaultDecl"
><A NAME="t%3ADefaultDecl"
></A
></A
><B
>DefaultDecl</B
> name </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:DefaultDecl"
><A NAME="v%3ADefaultDecl"
></A
></A
><B
>DefaultDecl</B
> [<A HREF="HsTypes.html#t%3ALHsType"
>LHsType</A
> name]</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:DefaultDecl')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:DefaultDecl" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputableBndr"
>OutputableBndr</A
> name =&gt; <A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> (<A HREF="HsDecls.html#t%3ADefaultDecl"
>DefaultDecl</A
> name)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:LDefaultDecl"
><A NAME="t%3ALDefaultDecl"
></A
></A
><B
>LDefaultDecl</B
> name = <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsDecls.html#t%3ADefaultDecl"
>DefaultDecl</A
> name)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="7"
><A NAME="7"
>Top-level template haskell splice
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:SpliceDecl"
><A NAME="t%3ASpliceDecl"
></A
></A
><B
>SpliceDecl</B
> id </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:SpliceDecl"
><A NAME="v%3ASpliceDecl"
></A
></A
><B
>SpliceDecl</B
> (<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsExpr.html#t%3AHsExpr"
>HsExpr</A
> id))</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:SpliceDecl')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:SpliceDecl" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputableBndr"
>OutputableBndr</A
> name =&gt; <A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> (<A HREF="HsDecls.html#t%3ASpliceDecl"
>SpliceDecl</A
> name)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="8"
><A NAME="8"
>Foreign function interface declarations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:ForeignDecl"
><A NAME="t%3AForeignDecl"
></A
></A
><B
>ForeignDecl</B
> name </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:ForeignImport"
><A NAME="v%3AForeignImport"
></A
></A
><B
>ForeignImport</B
> (<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> name) (<A HREF="HsTypes.html#t%3ALHsType"
>LHsType</A
> name) <A HREF="HsDecls.html#t%3AForeignImport"
>ForeignImport</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ForeignExport"
><A NAME="v%3AForeignExport"
></A
></A
><B
>ForeignExport</B
> (<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> name) (<A HREF="HsTypes.html#t%3ALHsType"
>LHsType</A
> name) <A HREF="HsDecls.html#t%3AForeignExport"
>ForeignExport</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ForeignDecl')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:ForeignDecl" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputableBndr"
>OutputableBndr</A
> name =&gt; <A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> (<A HREF="HsDecls.html#t%3AForeignDecl"
>ForeignDecl</A
> name)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:LForeignDecl"
><A NAME="t%3ALForeignDecl"
></A
></A
><B
>LForeignDecl</B
> name = <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsDecls.html#t%3AForeignDecl"
>ForeignDecl</A
> name)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:ForeignImport"
><A NAME="t%3AForeignImport"
></A
></A
><B
>ForeignImport</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:CImport"
><A NAME="v%3ACImport"
></A
></A
><B
>CImport</B
> <A HREF="ForeignCall.html#t%3ACCallConv"
>CCallConv</A
> <A HREF="ForeignCall.html#t%3ASafety"
>Safety</A
> <A HREF="FastString.html#t%3AFastString"
>FastString</A
> <A HREF="HsDecls.html#t%3ACImportSpec"
>CImportSpec</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ForeignImport')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:ForeignImport" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="HsDecls.html#t%3AForeignImport"
>ForeignImport</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:ForeignExport"
><A NAME="t%3AForeignExport"
></A
></A
><B
>ForeignExport</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:CExport"
><A NAME="v%3ACExport"
></A
></A
><B
>CExport</B
> <A HREF="ForeignCall.html#t%3ACExportSpec"
>CExportSpec</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ForeignExport')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:ForeignExport" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="HsDecls.html#t%3AForeignExport"
>ForeignExport</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:CImportSpec"
><A NAME="t%3ACImportSpec"
></A
></A
><B
>CImportSpec</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:CLabel"
><A NAME="v%3ACLabel"
></A
></A
><B
>CLabel</B
> <A HREF="ForeignCall.html#t%3ACLabelString"
>CLabelString</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:CFunction"
><A NAME="v%3ACFunction"
></A
></A
><B
>CFunction</B
> <A HREF="ForeignCall.html#t%3ACCallTarget"
>CCallTarget</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:CWrapper"
><A NAME="v%3ACWrapper"
></A
></A
><B
>CWrapper</B
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="9"
><A NAME="9"
>Data-constructor declarations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:ConDecl"
><A NAME="t%3AConDecl"
></A
></A
><B
>ConDecl</B
> name </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="5" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:ConDecl"
><A NAME="v%3AConDecl"
></A
></A
><B
>ConDecl</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="body" COLSPAN="2"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:con_name"
><A NAME="v%3Acon_name"
></A
></A
><B
>con_name</B
> :: <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> name</TD
><TD CLASS="rdoc"
>Constructor name.  This is used for the DataCon itself, and for
 the user-callable wrapper Id.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:con_explicit"
><A NAME="v%3Acon_explicit"
></A
></A
><B
>con_explicit</B
> :: <A HREF="HsTypes.html#t%3AHsExplicitForAll"
>HsExplicitForAll</A
></TD
><TD CLASS="rdoc"
>Is there an user-written forall? (cf. <TT
><A HREF="HsTypes.html#v%3AHsForAllTy"
>HsForAllTy</A
></TT
>)
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:con_qvars"
><A NAME="v%3Acon_qvars"
></A
></A
><B
>con_qvars</B
> :: [<A HREF="HsTypes.html#t%3ALHsTyVarBndr"
>LHsTyVarBndr</A
> name]</TD
><TD CLASS="rdoc"
><P
>Type variables.  Depending on <TT
><A HREF="HsDecls.html#v%3Acon_res"
>con_res</A
></TT
> this describes the
 follewing entities
</P
><UL
><LI
> ResTyH98:  the constructor's *existential* type variables
  - ResTyGADT: *all* the constructor's quantified type variables
</LI
></UL
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:con_cxt"
><A NAME="v%3Acon_cxt"
></A
></A
><B
>con_cxt</B
> :: <A HREF="HsTypes.html#t%3ALHsContext"
>LHsContext</A
> name</TD
><TD CLASS="rdoc"
>The context.  This <EM
>does not</EM
> include the &quot;stupid theta&quot; which
 lives only in the <TT
><A HREF="HsDecls.html#v%3ATyData"
>TyData</A
></TT
> decl.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:con_details"
><A NAME="v%3Acon_details"
></A
></A
><B
>con_details</B
> :: <A HREF="HsDecls.html#t%3AHsConDeclDetails"
>HsConDeclDetails</A
> name</TD
><TD CLASS="rdoc"
>The main payload
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:con_res"
><A NAME="v%3Acon_res"
></A
></A
><B
>con_res</B
> :: <A HREF="HsDecls.html#t%3AResType"
>ResType</A
> name</TD
><TD CLASS="rdoc"
>Result type of the constructor
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:con_doc"
><A NAME="v%3Acon_doc"
></A
></A
><B
>con_doc</B
> :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="HsDoc.html#t%3ALHsDocString"
>LHsDocString</A
></TD
><TD CLASS="rdoc"
>A possible Haddock comment.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:con_old_rec"
><A NAME="v%3Acon_old_rec"
></A
></A
><B
>con_old_rec</B
> :: <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="rdoc"
>TEMPORARY field; True <A HREF="="
>=</A
> user has employed now-deprecated syntax for
   	       	               GADT-style record decl   C { blah } :: T a b
 Remove this when we no longer parse this stuff, and hence do not
 need to report decprecated use
</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ConDecl')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:ConDecl" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputableBndr"
>OutputableBndr</A
> name =&gt; <A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> (<A HREF="HsDecls.html#t%3AConDecl"
>ConDecl</A
> name)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:LConDecl"
><A NAME="t%3ALConDecl"
></A
></A
><B
>LConDecl</B
> name = <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsDecls.html#t%3AConDecl"
>ConDecl</A
> name)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:ResType"
><A NAME="t%3AResType"
></A
></A
><B
>ResType</B
> name </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:ResTyH98"
><A NAME="v%3AResTyH98"
></A
></A
><B
>ResTyH98</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ResTyGADT"
><A NAME="v%3AResTyGADT"
></A
></A
><B
>ResTyGADT</B
> (<A HREF="HsTypes.html#t%3ALHsType"
>LHsType</A
> name)</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ResType')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:ResType" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputableBndr"
>OutputableBndr</A
> name =&gt; <A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> (<A HREF="HsDecls.html#t%3AResType"
>ResType</A
> name)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:HsConDeclDetails"
><A NAME="t%3AHsConDeclDetails"
></A
></A
><B
>HsConDeclDetails</B
> name = <A HREF="HsPat.html#t%3AHsConDetails"
>HsConDetails</A
> (<A HREF="HsTypes.html#t%3ALBangType"
>LBangType</A
> name) [<A HREF="HsTypes.html#t%3AConDeclField"
>ConDeclField</A
> name]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:hsConDeclArgTys"
><A NAME="v%3AhsConDeclArgTys"
></A
></A
><B
>hsConDeclArgTys</B
> ::  <A HREF="HsDecls.html#t%3AHsConDeclDetails"
>HsConDeclDetails</A
> name -&gt; [<A HREF="HsTypes.html#t%3ALBangType"
>LBangType</A
> name]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:hsConDeclsNames"
><A NAME="v%3AhsConDeclsNames"
></A
></A
><B
>hsConDeclsNames</B
> :: <A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> name =&gt; [<A HREF="HsDecls.html#t%3ALConDecl"
>LConDecl</A
> name] -&gt; [<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> name]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="10"
><A NAME="10"
>Document comments
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:DocDecl"
><A NAME="t%3ADocDecl"
></A
></A
><B
>DocDecl</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:DocCommentNext"
><A NAME="v%3ADocCommentNext"
></A
></A
><B
>DocCommentNext</B
> <A HREF="HsDoc.html#t%3AHsDocString"
>HsDocString</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:DocCommentPrev"
><A NAME="v%3ADocCommentPrev"
></A
></A
><B
>DocCommentPrev</B
> <A HREF="HsDoc.html#t%3AHsDocString"
>HsDocString</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:DocCommentNamed"
><A NAME="v%3ADocCommentNamed"
></A
></A
><B
>DocCommentNamed</B
> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> <A HREF="HsDoc.html#t%3AHsDocString"
>HsDocString</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:DocGroup"
><A NAME="v%3ADocGroup"
></A
></A
><B
>DocGroup</B
> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> <A HREF="HsDoc.html#t%3AHsDocString"
>HsDocString</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:DocDecl')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:DocDecl" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="HsDecls.html#t%3ADocDecl"
>DocDecl</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:LDocDecl"
><A NAME="t%3ALDocDecl"
></A
></A
><B
>LDocDecl</B
> = <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> <A HREF="HsDecls.html#t%3ADocDecl"
>DocDecl</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:docDeclDoc"
><A NAME="v%3AdocDeclDoc"
></A
></A
><B
>docDeclDoc</B
> :: <A HREF="HsDecls.html#t%3ADocDecl"
>DocDecl</A
> -&gt; <A HREF="HsDoc.html#t%3AHsDocString"
>HsDocString</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="11"
><A NAME="11"
>Deprecations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:WarnDecl"
><A NAME="t%3AWarnDecl"
></A
></A
><B
>WarnDecl</B
> name </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:Warning"
><A NAME="v%3AWarning"
></A
></A
><B
>Warning</B
> name <A HREF="BasicTypes.html#t%3AWarningTxt"
>WarningTxt</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:WarnDecl')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:WarnDecl" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputableBndr"
>OutputableBndr</A
> name =&gt; <A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> (<A HREF="HsDecls.html#t%3AWarnDecl"
>WarnDecl</A
> name)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:LWarnDecl"
><A NAME="t%3ALWarnDecl"
></A
></A
><B
>LWarnDecl</B
> name = <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsDecls.html#t%3AWarnDecl"
>WarnDecl</A
> name)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="12"
><A NAME="12"
>Annotations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:AnnDecl"
><A NAME="t%3AAnnDecl"
></A
></A
><B
>AnnDecl</B
> name </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:HsAnnotation"
><A NAME="v%3AHsAnnotation"
></A
></A
><B
>HsAnnotation</B
> (<A HREF="HsDecls.html#t%3AAnnProvenance"
>AnnProvenance</A
> name) (<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsExpr.html#t%3AHsExpr"
>HsExpr</A
> name))</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:AnnDecl')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:AnnDecl" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputableBndr"
>OutputableBndr</A
> name =&gt; <A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> (<A HREF="HsDecls.html#t%3AAnnDecl"
>AnnDecl</A
> name)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:LAnnDecl"
><A NAME="t%3ALAnnDecl"
></A
></A
><B
>LAnnDecl</B
> name = <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsDecls.html#t%3AAnnDecl"
>AnnDecl</A
> name)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:AnnProvenance"
><A NAME="t%3AAnnProvenance"
></A
></A
><B
>AnnProvenance</B
> name </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:ValueAnnProvenance"
><A NAME="v%3AValueAnnProvenance"
></A
></A
><B
>ValueAnnProvenance</B
> name</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TypeAnnProvenance"
><A NAME="v%3ATypeAnnProvenance"
></A
></A
><B
>TypeAnnProvenance</B
> name</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ModuleAnnProvenance"
><A NAME="v%3AModuleAnnProvenance"
></A
></A
><B
>ModuleAnnProvenance</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:annProvenanceName_maybe"
><A NAME="v%3AannProvenanceName_maybe"
></A
></A
><B
>annProvenanceName_maybe</B
> ::  <A HREF="HsDecls.html#t%3AAnnProvenance"
>AnnProvenance</A
> name -&gt; <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> name</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:modifyAnnProvenanceNameM"
><A NAME="v%3AmodifyAnnProvenanceNameM"
></A
></A
><B
>modifyAnnProvenanceNameM</B
> :: <A HREF="../base-4.2.0.2/Control-Monad.html#t%3AMonad"
>Monad</A
> m =&gt; (before -&gt; m after) -&gt; <A HREF="HsDecls.html#t%3AAnnProvenance"
>AnnProvenance</A
> before -&gt; m (<A HREF="HsDecls.html#t%3AAnnProvenance"
>AnnProvenance</A
> after)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="13"
><A NAME="13"
>Grouping
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:HsGroup"
><A NAME="t%3AHsGroup"
></A
></A
><B
>HsGroup</B
> id </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A <TT
><A HREF="HsDecls.html#t%3AHsDecl"
>HsDecl</A
></TT
> is categorised into a <TT
><A HREF="HsDecls.html#t%3AHsGroup"
>HsGroup</A
></TT
> before being
 fed to the renamer.
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:HsGroup"
><A NAME="v%3AHsGroup"
></A
></A
><B
>HsGroup</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="body" COLSPAN="2"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:hs_valds"
><A NAME="v%3Ahs_valds"
></A
></A
><B
>hs_valds</B
> :: <A HREF="HsBinds.html#t%3AHsValBinds"
>HsValBinds</A
> id</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:hs_tyclds"
><A NAME="v%3Ahs_tyclds"
></A
></A
><B
>hs_tyclds</B
> :: [<A HREF="HsDecls.html#t%3ALTyClDecl"
>LTyClDecl</A
> id]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:hs_instds"
><A NAME="v%3Ahs_instds"
></A
></A
><B
>hs_instds</B
> :: [<A HREF="HsDecls.html#t%3ALInstDecl"
>LInstDecl</A
> id]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:hs_derivds"
><A NAME="v%3Ahs_derivds"
></A
></A
><B
>hs_derivds</B
> :: [<A HREF="HsDecls.html#t%3ALDerivDecl"
>LDerivDecl</A
> id]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:hs_fixds"
><A NAME="v%3Ahs_fixds"
></A
></A
><B
>hs_fixds</B
> :: [<A HREF="HsBinds.html#t%3ALFixitySig"
>LFixitySig</A
> id]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:hs_defds"
><A NAME="v%3Ahs_defds"
></A
></A
><B
>hs_defds</B
> :: [<A HREF="HsDecls.html#t%3ALDefaultDecl"
>LDefaultDecl</A
> id]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:hs_fords"
><A NAME="v%3Ahs_fords"
></A
></A
><B
>hs_fords</B
> :: [<A HREF="HsDecls.html#t%3ALForeignDecl"
>LForeignDecl</A
> id]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:hs_warnds"
><A NAME="v%3Ahs_warnds"
></A
></A
><B
>hs_warnds</B
> :: [<A HREF="HsDecls.html#t%3ALWarnDecl"
>LWarnDecl</A
> id]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:hs_annds"
><A NAME="v%3Ahs_annds"
></A
></A
><B
>hs_annds</B
> :: [<A HREF="HsDecls.html#t%3ALAnnDecl"
>LAnnDecl</A
> id]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:hs_ruleds"
><A NAME="v%3Ahs_ruleds"
></A
></A
><B
>hs_ruleds</B
> :: [<A HREF="HsDecls.html#t%3ALRuleDecl"
>LRuleDecl</A
> id]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:hs_docs"
><A NAME="v%3Ahs_docs"
></A
></A
><B
>hs_docs</B
> :: [<A HREF="HsDecls.html#t%3ALDocDecl"
>LDocDecl</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:HsGroup')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:HsGroup" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputableBndr"
>OutputableBndr</A
> name =&gt; <A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> (<A HREF="HsDecls.html#t%3AHsGroup"
>HsGroup</A
> name)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:emptyRdrGroup"
><A NAME="v%3AemptyRdrGroup"
></A
></A
><B
>emptyRdrGroup</B
> ::  <A HREF="HsDecls.html#t%3AHsGroup"
>HsGroup</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:emptyRnGroup"
><A NAME="v%3AemptyRnGroup"
></A
></A
><B
>emptyRnGroup</B
> ::  <A HREF="HsDecls.html#t%3AHsGroup"
>HsGroup</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:appendGroups"
><A NAME="v%3AappendGroups"
></A
></A
><B
>appendGroups</B
> ::  <A HREF="HsDecls.html#t%3AHsGroup"
>HsGroup</A
> a -&gt; <A HREF="HsDecls.html#t%3AHsGroup"
>HsGroup</A
> a -&gt; <A HREF="HsDecls.html#t%3AHsGroup"
>HsGroup</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 2.6.1</TD
></TR
></TABLE
></BODY
></HTML
>