<!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 -> <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 -> <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 -> <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 -> <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 -> <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 -> <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 -> 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 => <A HREF="HsDecls.html#t%3ATyClDecl" >TyClDecl</A > name -> [<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 -> [<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] -> (<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 -> [<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] -> [<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 -> [<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 => [<A HREF="HsDecls.html#t%3ALConDecl" >LConDecl</A > name] -> [<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 > -> <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 -> <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 => (before -> m after) -> <A HREF="HsDecls.html#t%3AAnnProvenance" >AnnProvenance</A > before -> 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 -> <A HREF="HsDecls.html#t%3AHsGroup" >HsGroup</A > a -> <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 => <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 :: *->*</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 > => not specified, <TT >Just []</TT > => 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 => <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 -> <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 -> <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 -> <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 -> <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 -> <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 -> <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 -> 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 => <A HREF="HsDecls.html#t%3ATyClDecl" >TyClDecl</A > name -> [<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 -> [<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] -> (<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 => <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 -> [<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 => <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 => <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 => <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] -> [<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 => <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 => <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 => <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 "stupid theta" 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 => <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 => <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 -> [<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 => [<A HREF="HsDecls.html#t%3ALConDecl" >LConDecl</A > name] -> [<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 > -> <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 => <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 => <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 -> <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 => (before -> m after) -> <A HREF="HsDecls.html#t%3AAnnProvenance" >AnnProvenance</A > before -> 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 => <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 -> <A HREF="HsDecls.html#t%3AHsGroup" >HsGroup</A > a -> <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 >