Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > b7c72565e5c5b5c5e884bc9e4376255f > files > 56

ghc-haskell-src-exts-devel-1.9.0-2.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
>Language.Haskell.Exts.Annotated.Syntax</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_Language-Haskell-Exts-Annotated-Syntax.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"
>haskell-src-exts-1.9.0: Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer</TD
><TD CLASS="topbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html"
>Source code</A
></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"
>Language.Haskell.Exts.Annotated.Syntax</FONT
></TD
><TD ALIGN="right"
><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="infohead"
>Portability</TD
><TD CLASS="infoval"
>portable</TD
></TR
><TR
><TD CLASS="infohead"
>Stability</TD
><TD CLASS="infoval"
>stable</TD
></TR
><TR
><TD CLASS="infohead"
>Maintainer</TD
><TD CLASS="infoval"
>Niklas Broberg, d00nibro@chalmers.se</TD
></TR
></TABLE
></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"
>Modules
</A
></DT
><DT
><A HREF="#2"
>Declarations
</A
></DT
><DD
><DL
><DT
><A HREF="#3"
>Type classes and instances
</A
></DT
><DT
><A HREF="#4"
>Data type declarations
</A
></DT
><DT
><A HREF="#5"
>Function bindings
</A
></DT
></DL
></DD
><DT
><A HREF="#6"
>Class Assertions and Contexts
</A
></DT
><DT
><A HREF="#7"
>Types
</A
></DT
><DT
><A HREF="#8"
>Expressions
</A
></DT
><DT
><A HREF="#9"
>Patterns
</A
></DT
><DT
><A HREF="#10"
>Literals
</A
></DT
><DT
><A HREF="#11"
>Variables, Constructors and Operators
</A
></DT
><DT
><A HREF="#12"
>Template Haskell
</A
></DT
><DT
><A HREF="#13"
>FFI
</A
></DT
><DT
><A HREF="#14"
>Pragmas
</A
></DT
><DT
><A HREF="#15"
>Builtin names
</A
></DT
><DD
><DL
><DT
><A HREF="#16"
>Modules
</A
></DT
><DT
><A HREF="#17"
>Main function of a program
</A
></DT
><DT
><A HREF="#18"
>Constructors
</A
></DT
><DT
><A HREF="#19"
>Special identifiers
</A
></DT
><DT
><A HREF="#20"
>Type constructors
</A
></DT
></DL
></DD
><DT
><A HREF="#21"
>Source coordinates
</A
></DT
><DT
><A HREF="#22"
>Annotated trees
</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
>A suite of datatypes describing the (semi-concrete) abstract syntax of Haskell 98
 <A HREF="http://www.haskell.org/onlinereport/"
>http://www.haskell.org/onlinereport/</A
> plus registered extensions, including:
</P
><UL
><LI
> multi-parameter type classes with functional dependencies (MultiParamTypeClasses, FunctionalDependencies)
</LI
><LI
> parameters of type class assertions are unrestricted (FlexibleContexts)
</LI
><LI
> forall types as universal and existential quantification (RankNTypes, ExistentialQuantification, etc)
</LI
><LI
> pattern guards (PatternGuards)
</LI
><LI
> implicit parameters (ImplicitParameters)
</LI
><LI
> generalised algebraic data types (GADTs)
</LI
><LI
> template haskell (TemplateHaskell)
</LI
><LI
> empty data type declarations (EmptyDataDecls)
</LI
><LI
> unboxed tuples (UnboxedTuples)
</LI
><LI
> regular patterns (RegularPatterns)
</LI
><LI
> HSP-style XML expressions and patterns (XmlSyntax)
</LI
></UL
><P
>All nodes in the syntax tree are annotated with something of a user-definable data type.
 When parsing, this annotation will contain information about the source location that the
 particular node comes from.
</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%3AModule"
>Module</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AModule"
>Module</A
> l (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleHead"
>ModuleHead</A
> l)) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModulePragma"
>ModulePragma</A
> l] [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportDecl"
>ImportDecl</A
> l] [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADecl"
>Decl</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AXmlPage"
>XmlPage</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleName"
>ModuleName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModulePragma"
>ModulePragma</A
> l] (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXName"
>XName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXAttr"
>XAttr</A
> l] (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AXmlHybrid"
>XmlHybrid</A
> l (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleHead"
>ModuleHead</A
> l)) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModulePragma"
>ModulePragma</A
> l] [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportDecl"
>ImportDecl</A
> l] [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADecl"
>Decl</A
> l] (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXName"
>XName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXAttr"
>XAttr</A
> l] (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l]</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%3AModuleHead"
>ModuleHead</A
> l = <A HREF="#v%3AModuleHead"
>ModuleHead</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleName"
>ModuleName</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AWarningText"
>WarningText</A
> l)) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExportSpecList"
>ExportSpecList</A
> l))</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%3AWarningText"
>WarningText</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ADeprText"
>DeprText</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AWarnText"
>WarnText</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</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%3AExportSpecList"
>ExportSpecList</A
> l = <A HREF="#v%3AExportSpecList"
>ExportSpecList</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExportSpec"
>ExportSpec</A
> l]</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%3AExportSpec"
>ExportSpec</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AEVar"
>EVar</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AEAbs"
>EAbs</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AEThingAll"
>EThingAll</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AEThingWith"
>EThingWith</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACName"
>CName</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AEModuleContents"
>EModuleContents</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleName"
>ModuleName</A
> l)</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%3AImportDecl"
>ImportDecl</A
> l = <A HREF="#v%3AImportDecl"
>ImportDecl</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3AimportAnn"
>importAnn</A
> :: l</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AimportModule"
>importModule</A
> :: <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleName"
>ModuleName</A
> l</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AimportQualified"
>importQualified</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AimportSrc"
>importSrc</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AimportPkg"
>importPkg</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AimportAs"
>importAs</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleName"
>ModuleName</A
> l)</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AimportSpecs"
>importSpecs</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportSpecList"
>ImportSpecList</A
> l)</TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AImportSpecList"
>ImportSpecList</A
> l = <A HREF="#v%3AImportSpecList"
>ImportSpecList</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
> [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportSpec"
>ImportSpec</A
> l]</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%3AImportSpec"
>ImportSpec</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AIVar"
>IVar</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AIAbs"
>IAbs</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AIThingAll"
>IThingAll</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AIThingWith"
>IThingWith</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACName"
>CName</A
> l]</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%3AAssoc"
>Assoc</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AAssocNone"
>AssocNone</A
> l</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AAssocLeft"
>AssocLeft</A
> l</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AAssocRight"
>AssocRight</A
> l</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%3ADecl"
>Decl</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ATypeDecl"
>TypeDecl</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATypeFamDecl"
>TypeFamDecl</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l))</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ADataDecl"
>DataDecl</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADataOrNew"
>DataOrNew</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualConDecl"
>QualConDecl</A
> l] (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeriving"
>Deriving</A
> l))</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AGDataDecl"
>GDataDecl</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADataOrNew"
>DataOrNew</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l)) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGadtDecl"
>GadtDecl</A
> l] (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeriving"
>Deriving</A
> l))</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ADataFamDecl"
>DataFamDecl</A
> l (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l))</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATypeInsDecl"
>TypeInsDecl</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ADataInsDecl"
>DataInsDecl</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADataOrNew"
>DataOrNew</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualConDecl"
>QualConDecl</A
> l] (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeriving"
>Deriving</A
> l))</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AGDataInsDecl"
>GDataInsDecl</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADataOrNew"
>DataOrNew</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l)) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGadtDecl"
>GadtDecl</A
> l] (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeriving"
>Deriving</A
> l))</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AClassDecl"
>ClassDecl</A
> l (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFunDep"
>FunDep</A
> l] (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AClassDecl"
>ClassDecl</A
> l])</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AInstDecl"
>InstDecl</A
> l (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstHead"
>InstHead</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstDecl"
>InstDecl</A
> l])</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ADerivDecl"
>DerivDecl</A
> l (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstHead"
>InstHead</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AInfixDecl"
>InfixDecl</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAssoc"
>Assoc</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AOp"
>Op</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ADefaultDecl"
>DefaultDecl</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ASpliceDecl"
>SpliceDecl</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATypeSig"
>TypeSig</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l] (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AFunBind"
>FunBind</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AMatch"
>Match</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APatBind"
>PatBind</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARhs"
>Rhs</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABinds"
>Binds</A
> l))</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AForImp"
>ForImp</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACallConv"
>CallConv</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASafety"
>Safety</A
> l)) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AForExp"
>ForExp</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACallConv"
>CallConv</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARulePragmaDecl"
>RulePragmaDecl</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARule"
>Rule</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ADeprPragmaDecl"
>DeprPragmaDecl</A
> l [([<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l], <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>)]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AWarnPragmaDecl"
>WarnPragmaDecl</A
> l [([<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l], <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>)]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AInlineSig"
>InlineSig</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
> (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AActivation"
>Activation</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AInlineConlikeSig"
>InlineConlikeSig</A
> l (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AActivation"
>Activation</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ASpecSig"
>SpecSig</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ASpecInlineSig"
>SpecInlineSig</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
> (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AActivation"
>Activation</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AInstSig"
>InstSig</A
> l (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstHead"
>InstHead</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AAnnPragma"
>AnnPragma</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotation"
>Annotation</A
> l)</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%3ADeclHead"
>DeclHead</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ADHead"
>DHead</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATyVarBind"
>TyVarBind</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ADHInfix"
>DHInfix</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATyVarBind"
>TyVarBind</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATyVarBind"
>TyVarBind</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ADHParen"
>DHParen</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
> l)</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%3AInstHead"
>InstHead</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AIHead"
>IHead</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AIHInfix"
>IHInfix</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AIHParen"
>IHParen</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstHead"
>InstHead</A
> l)</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%3ABinds"
>Binds</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ABDecls"
>BDecls</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADecl"
>Decl</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AIPBinds"
>IPBinds</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPBind"
>IPBind</A
> l]</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%3AIPBind"
>IPBind</A
> l = <A HREF="#v%3AIPBind"
>IPBind</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPName"
>IPName</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</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%3AClassDecl"
>ClassDecl</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AClsDecl"
>ClsDecl</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADecl"
>Decl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AClsDataFam"
>ClsDataFam</A
> l (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l))</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AClsTyFam"
>ClsTyFam</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l))</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AClsTyDef"
>ClsTyDef</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</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%3AInstDecl"
>InstDecl</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AInsDecl"
>InsDecl</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADecl"
>Decl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AInsType"
>InsType</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AInsData"
>InsData</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADataOrNew"
>DataOrNew</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualConDecl"
>QualConDecl</A
> l] (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeriving"
>Deriving</A
> l))</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AInsGData"
>InsGData</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADataOrNew"
>DataOrNew</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l)) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGadtDecl"
>GadtDecl</A
> l] (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeriving"
>Deriving</A
> l))</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%3ADeriving"
>Deriving</A
> l = <A HREF="#v%3ADeriving"
>Deriving</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstHead"
>InstHead</A
> l]</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%3ADataOrNew"
>DataOrNew</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ADataType"
>DataType</A
> l</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ANewType"
>NewType</A
> l</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%3AConDecl"
>ConDecl</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AConDecl"
>ConDecl</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABangType"
>BangType</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AInfixConDecl"
>InfixConDecl</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABangType"
>BangType</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABangType"
>BangType</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARecDecl"
>RecDecl</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldDecl"
>FieldDecl</A
> l]</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%3AFieldDecl"
>FieldDecl</A
> l = <A HREF="#v%3AFieldDecl"
>FieldDecl</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l] (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABangType"
>BangType</A
> l)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AQualConDecl"
>QualConDecl</A
> l = <A HREF="#v%3AQualConDecl"
>QualConDecl</A
> l (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATyVarBind"
>TyVarBind</A
> l]) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AConDecl"
>ConDecl</A
> l)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AGadtDecl"
>GadtDecl</A
> l = <A HREF="#v%3AGadtDecl"
>GadtDecl</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</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%3ABangType"
>BangType</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ABangedTy"
>BangedTy</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AUnBangedTy"
>UnBangedTy</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AUnpackedTy"
>UnpackedTy</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</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%3AMatch"
>Match</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AMatch"
>Match</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l] (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARhs"
>Rhs</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABinds"
>Binds</A
> l))</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AInfixMatch"
>InfixMatch</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l] (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARhs"
>Rhs</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABinds"
>Binds</A
> l))</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%3ARhs"
>Rhs</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AUnGuardedRhs"
>UnGuardedRhs</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AGuardedRhss"
>GuardedRhss</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedRhs"
>GuardedRhs</A
> l]</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%3AGuardedRhs"
>GuardedRhs</A
> l = <A HREF="#v%3AGuardedRhs"
>GuardedRhs</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AStmt"
>Stmt</A
> l] (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</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%3AContext"
>Context</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ACxSingle"
>CxSingle</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAsst"
>Asst</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ACxTuple"
>CxTuple</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAsst"
>Asst</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ACxParen"
>CxParen</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ACxEmpty"
>CxEmpty</A
> l</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%3AFunDep"
>FunDep</A
> l = <A HREF="#v%3AFunDep"
>FunDep</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l] [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l]</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%3AAsst"
>Asst</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AClassA"
>ClassA</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AInfixA"
>InfixA</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AIParam"
>IParam</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPName"
>IPName</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AEqualP"
>EqualP</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</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%3AType"
>Type</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ATyForall"
>TyForall</A
> l (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATyVarBind"
>TyVarBind</A
> l]) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATyFun"
>TyFun</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATyTuple"
>TyTuple</A
> l <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABoxed"
>Boxed</A
> [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATyList"
>TyList</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATyApp"
>TyApp</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATyVar"
>TyVar</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATyCon"
>TyCon</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATyParen"
>TyParen</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATyInfix"
>TyInfix</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATyKind"
>TyKind</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l)</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%3ABoxed"
>Boxed</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ABoxed"
>Boxed</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AUnboxed"
>Unboxed</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%3AKind"
>Kind</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AKindStar"
>KindStar</A
> l</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AKindBang"
>KindBang</A
> l</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AKindFn"
>KindFn</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AKindParen"
>KindParen</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AKindVar"
>KindVar</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</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%3ATyVarBind"
>TyVarBind</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AKindedVar"
>KindedVar</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AUnkindedVar"
>UnkindedVar</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</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%3AExp"
>Exp</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AVar"
>Var</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AIPVar"
>IPVar</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPName"
>IPName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ACon"
>Con</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ALit"
>Lit</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ALiteral"
>Literal</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AInfixApp"
>InfixApp</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQOp"
>QOp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AApp"
>App</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ANegApp"
>NegApp</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ALambda"
>Lambda</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l] (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ALet"
>Let</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABinds"
>Binds</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AIf"
>If</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ACase"
>Case</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAlt"
>Alt</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ADo"
>Do</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AStmt"
>Stmt</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AMDo"
>MDo</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AStmt"
>Stmt</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATuple"
>Tuple</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATupleSection"
>TupleSection</A
> l [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AList"
>List</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AParen"
>Paren</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ALeftSection"
>LeftSection</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQOp"
>QOp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARightSection"
>RightSection</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQOp"
>QOp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARecConstr"
>RecConstr</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldUpdate"
>FieldUpdate</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARecUpdate"
>RecUpdate</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldUpdate"
>FieldUpdate</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AEnumFrom"
>EnumFrom</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AEnumFromTo"
>EnumFromTo</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AEnumFromThen"
>EnumFromThen</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AEnumFromThenTo"
>EnumFromThenTo</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AListComp"
>ListComp</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualStmt"
>QualStmt</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AParComp"
>ParComp</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) [[<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualStmt"
>QualStmt</A
> l]]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AExpTypeSig"
>ExpTypeSig</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AVarQuote"
>VarQuote</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATypQuote"
>TypQuote</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ABracketExp"
>BracketExp</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABracket"
>Bracket</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ASpliceExp"
>SpliceExp</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASplice"
>Splice</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AQuasiQuote"
>QuasiQuote</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AXTag"
>XTag</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXName"
>XName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXAttr"
>XAttr</A
> l] (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AXETag"
>XETag</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXName"
>XName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXAttr"
>XAttr</A
> l] (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l))</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AXPcdata"
>XPcdata</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AXExpTag"
>XExpTag</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ACorePragma"
>CorePragma</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ASCCPragma"
>SCCPragma</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AGenPragma"
>GenPragma</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>, <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>, <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AProc"
>Proc</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ALeftArrApp"
>LeftArrApp</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARightArrApp"
>RightArrApp</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ALeftArrHighApp"
>LeftArrHighApp</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARightArrHighApp"
>RightArrHighApp</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</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%3AStmt"
>Stmt</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AGenerator"
>Generator</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AQualifier"
>Qualifier</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ALetStmt"
>LetStmt</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABinds"
>Binds</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARecStmt"
>RecStmt</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AStmt"
>Stmt</A
> l]</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%3AQualStmt"
>QualStmt</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AQualStmt"
>QualStmt</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AStmt"
>Stmt</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AThenTrans"
>ThenTrans</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AThenBy"
>ThenBy</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AGroupBy"
>GroupBy</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AGroupUsing"
>GroupUsing</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AGroupByUsing"
>GroupByUsing</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</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%3AFieldUpdate"
>FieldUpdate</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AFieldUpdate"
>FieldUpdate</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AFieldPun"
>FieldPun</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AFieldWildcard"
>FieldWildcard</A
> l</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%3AAlt"
>Alt</A
> l = <A HREF="#v%3AAlt"
>Alt</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedAlts"
>GuardedAlts</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABinds"
>Binds</A
> l))</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%3AGuardedAlts"
>GuardedAlts</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AUnGuardedAlt"
>UnGuardedAlt</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AGuardedAlts"
>GuardedAlts</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedAlt"
>GuardedAlt</A
> l]</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%3AGuardedAlt"
>GuardedAlt</A
> l = <A HREF="#v%3AGuardedAlt"
>GuardedAlt</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AStmt"
>Stmt</A
> l] (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AXAttr"
>XAttr</A
> l = <A HREF="#v%3AXAttr"
>XAttr</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXName"
>XName</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</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%3APat"
>Pat</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3APVar"
>PVar</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APLit"
>PLit</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ALiteral"
>Literal</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APNeg"
>PNeg</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APNPlusK"
>PNPlusK</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3AInteger"
>Integer</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APInfixApp"
>PInfixApp</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APApp"
>PApp</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APTuple"
>PTuple</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APList"
>PList</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APParen"
>PParen</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APRec"
>PRec</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APatField"
>PatField</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APAsPat"
>PAsPat</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APWildCard"
>PWildCard</A
> l</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APIrrPat"
>PIrrPat</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APatTypeSig"
>PatTypeSig</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APViewPat"
>PViewPat</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APRPat"
>PRPat</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APXTag"
>PXTag</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXName"
>XName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APXAttr"
>PXAttr</A
> l] (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APXETag"
>PXETag</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXName"
>XName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APXAttr"
>PXAttr</A
> l] (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l))</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APXPcdata"
>PXPcdata</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APXPatTag"
>PXPatTag</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APXRPats"
>PXRPats</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APExplTypeArg"
>PExplTypeArg</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APQuasiQuote"
>PQuasiQuote</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APBangPat"
>PBangPat</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</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%3APatField"
>PatField</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3APFieldPat"
>PFieldPat</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APFieldPun"
>PFieldPun</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APFieldWildcard"
>PFieldWildcard</A
> l</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%3APXAttr"
>PXAttr</A
> l = <A HREF="#v%3APXAttr"
>PXAttr</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXName"
>XName</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</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%3ARPat"
>RPat</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ARPOp"
>RPOp</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPatOp"
>RPatOp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARPEither"
>RPEither</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARPSeq"
>RPSeq</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARPGuard"
>RPGuard</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AStmt"
>Stmt</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARPCAs"
>RPCAs</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARPAs"
>RPAs</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARPParen"
>RPParen</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARPPat"
>RPPat</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</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%3ARPatOp"
>RPatOp</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ARPStar"
>RPStar</A
> l</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARPStarG"
>RPStarG</A
> l</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARPPlus"
>RPPlus</A
> l</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARPPlusG"
>RPPlusG</A
> l</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARPOpt"
>RPOpt</A
> l</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARPOptG"
>RPOptG</A
> l</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%3ALiteral"
>Literal</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AChar"
>Char</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AChar"
>Char</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AString"
>String</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AInt"
>Int</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3AInteger"
>Integer</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AFrac"
>Frac</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3ARational"
>Rational</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APrimInt"
>PrimInt</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3AInteger"
>Integer</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APrimWord"
>PrimWord</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3AInteger"
>Integer</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APrimFloat"
>PrimFloat</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3ARational"
>Rational</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APrimDouble"
>PrimDouble</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3ARational"
>Rational</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APrimChar"
>PrimChar</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AChar"
>Char</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APrimString"
>PrimString</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</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%3AModuleName"
>ModuleName</A
> l = <A HREF="#v%3AModuleName"
>ModuleName</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</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%3AQName"
>QName</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AQual"
>Qual</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleName"
>ModuleName</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AUnQual"
>UnQual</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ASpecial"
>Special</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASpecialCon"
>SpecialCon</A
> l)</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%3AName"
>Name</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AIdent"
>Ident</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ASymbol"
>Symbol</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</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%3AQOp"
>QOp</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AQVarOp"
>QVarOp</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AQConOp"
>QConOp</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</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%3AOp"
>Op</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AVarOp"
>VarOp</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AConOp"
>ConOp</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</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%3ASpecialCon"
>SpecialCon</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AUnitCon"
>UnitCon</A
> l</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AListCon"
>ListCon</A
> l</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AFunCon"
>FunCon</A
> l</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATupleCon"
>TupleCon</A
> l <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABoxed"
>Boxed</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ACons"
>Cons</A
> l</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AUnboxedSingleCon"
>UnboxedSingleCon</A
> l</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%3ACName"
>CName</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AVarName"
>VarName</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AConName"
>ConName</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</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%3AIPName"
>IPName</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AIPDup"
>IPDup</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AIPLin"
>IPLin</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</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%3AXName"
>XName</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AXName"
>XName</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AXDomName"
>XDomName</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</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%3ABracket"
>Bracket</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AExpBracket"
>ExpBracket</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APatBracket"
>PatBracket</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATypeBracket"
>TypeBracket</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ADeclBracket"
>DeclBracket</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADecl"
>Decl</A
> l]</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%3ASplice"
>Splice</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AIdSplice"
>IdSplice</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AParenSplice"
>ParenSplice</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</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%3ASafety"
>Safety</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3APlayRisky"
>PlayRisky</A
> l</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APlaySafe"
>PlaySafe</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</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%3ACallConv"
>CallConv</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AStdCall"
>StdCall</A
> l</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ACCall"
>CCall</A
> l</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%3AModulePragma"
>ModulePragma</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ALanguagePragma"
>LanguagePragma</A
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOptionsPragma"
>OptionsPragma</A
> l (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATool"
>Tool</A
>) <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AAnnModulePragma"
>AnnModulePragma</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotation"
>Annotation</A
> l)</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%3ATool"
>Tool</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AGHC"
>GHC</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AHUGS"
>HUGS</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ANHC98"
>NHC98</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AYHC"
>YHC</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AHADDOCK"
>HADDOCK</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AUnknownTool"
>UnknownTool</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</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%3ARule"
>Rule</A
> l = <A HREF="#v%3ARule"
>Rule</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AActivation"
>Activation</A
> l)) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARuleVar"
>RuleVar</A
> l]) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</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%3ARuleVar"
>RuleVar</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ARuleVar"
>RuleVar</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATypedRuleVar"
>TypedRuleVar</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</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%3AActivation"
>Activation</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AActiveFrom"
>ActiveFrom</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AActiveUntil"
>ActiveUntil</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</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%3AAnnotation"
>Annotation</A
> l </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AAnn"
>Ann</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATypeAnn"
>TypeAnn</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AModuleAnn"
>ModuleAnn</A
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aprelude_mod"
>prelude_mod</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleName"
>ModuleName</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Amain_mod"
>main_mod</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleName"
>ModuleName</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Amain_name"
>main_name</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aunit_con_name"
>unit_con_name</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Atuple_con_name"
>tuple_con_name</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABoxed"
>Boxed</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Alist_cons_name"
>list_cons_name</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aunboxed_singleton_con_name"
>unboxed_singleton_con_name</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aunit_con"
>unit_con</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Atuple_con"
>tuple_con</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABoxed"
>Boxed</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aunboxed_singleton_con"
>unboxed_singleton_con</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aas_name"
>as_name</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aqualified_name"
>qualified_name</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Ahiding_name"
>hiding_name</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aminus_name"
>minus_name</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Abang_name"
>bang_name</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Adot_name"
>dot_name</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Astar_name"
>star_name</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aexport_name"
>export_name</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Asafe_name"
>safe_name</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aunsafe_name"
>unsafe_name</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Athreadsafe_name"
>threadsafe_name</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Astdcall_name"
>stdcall_name</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Accall_name"
>ccall_name</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aunit_tycon_name"
>unit_tycon_name</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Afun_tycon_name"
>fun_tycon_name</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Alist_tycon_name"
>list_tycon_name</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Atuple_tycon_name"
>tuple_tycon_name</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABoxed"
>Boxed</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aunboxed_singleton_tycon_name"
>unboxed_singleton_tycon_name</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aunit_tycon"
>unit_tycon</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Afun_tycon"
>fun_tycon</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Alist_tycon"
>list_tycon</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Atuple_tycon"
>tuple_tycon</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABoxed"
>Boxed</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aunboxed_singleton_tycon"
>unboxed_singleton_tycon</A
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> ast =&gt; <A HREF="#t%3AAnnotated"
>Annotated</A
> ast  <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="#v%3Aann"
>ann</A
> ::  ast l -&gt; l</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aamap"
>amap</A
> ::  (l -&gt; l) -&gt; ast l -&gt; ast l</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%3D~%3D"
>(=~=)</A
> :: (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> a, <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (a <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
>)) =&gt; a l1 -&gt; a l2 -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</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"
>Modules
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Module"
><A NAME="t%3AModule"
></A
></A
><B
>Module</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Module"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A complete Haskell source module.
</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:Module"
><A NAME="v%3AModule"
></A
></A
><B
>Module</B
> l (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleHead"
>ModuleHead</A
> l)) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModulePragma"
>ModulePragma</A
> l] [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportDecl"
>ImportDecl</A
> l] [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADecl"
>Decl</A
> l]</TD
><TD CLASS="rdoc"
>an ordinary Haskell module
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:XmlPage"
><A NAME="v%3AXmlPage"
></A
></A
><B
>XmlPage</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleName"
>ModuleName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModulePragma"
>ModulePragma</A
> l] (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXName"
>XName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXAttr"
>XAttr</A
> l] (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l]</TD
><TD CLASS="rdoc"
>a module consisting of a single XML document. The ModuleName never appears in the source
   but is needed for semantic purposes, it will be the same as the file name.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:XmlHybrid"
><A NAME="v%3AXmlHybrid"
></A
></A
><B
>XmlHybrid</B
> l (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleHead"
>ModuleHead</A
> l)) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModulePragma"
>ModulePragma</A
> l] [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportDecl"
>ImportDecl</A
> l] [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADecl"
>Decl</A
> l] (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXName"
>XName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXAttr"
>XAttr</A
> l] (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l]</TD
><TD CLASS="rdoc"
>a hybrid module combining an XML document with an ordinary module
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Module')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Module" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModule"
>Module</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModule"
>Module</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModule"
>Module</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModule"
>Module</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Fixity.html#t%3AAppFixity"
>AppFixity</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModule"
>Module</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModule"
>Module</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModule"
>Module</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModule"
>Module</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModule"
>Module</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> pos =&gt; <A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModule"
>Module</A
> pos)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Parser.html#t%3AParseable"
>Parseable</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModule"
>Module</A
> loc)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:ModuleHead"
><A NAME="t%3AModuleHead"
></A
></A
><B
>ModuleHead</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#ModuleHead"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>The head of a module, including the name and export specification.
</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:ModuleHead"
><A NAME="v%3AModuleHead"
></A
></A
><B
>ModuleHead</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleName"
>ModuleName</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AWarningText"
>WarningText</A
> l)) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExportSpecList"
>ExportSpecList</A
> l))</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ModuleHead')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:ModuleHead" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleHead"
>ModuleHead</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleHead"
>ModuleHead</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleHead"
>ModuleHead</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleHead"
>ModuleHead</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleHead"
>ModuleHead</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleHead"
>ModuleHead</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleHead"
>ModuleHead</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleHead"
>ModuleHead</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleHead"
>ModuleHead</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:WarningText"
><A NAME="t%3AWarningText"
></A
></A
><B
>WarningText</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#WarningText"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Warning text to optionally use in the module header of e.g.
   a deprecated module.
</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:DeprText"
><A NAME="v%3ADeprText"
></A
></A
><B
>DeprText</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:WarnText"
><A NAME="v%3AWarnText"
></A
></A
><B
>WarnText</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:WarningText')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:WarningText" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AWarningText"
>WarningText</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AWarningText"
>WarningText</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AWarningText"
>WarningText</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AWarningText"
>WarningText</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AWarningText"
>WarningText</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AWarningText"
>WarningText</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AWarningText"
>WarningText</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AWarningText"
>WarningText</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AWarningText"
>WarningText</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:ExportSpecList"
><A NAME="t%3AExportSpecList"
></A
></A
><B
>ExportSpecList</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#ExportSpecList"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>An explicit export specification.
</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:ExportSpecList"
><A NAME="v%3AExportSpecList"
></A
></A
><B
>ExportSpecList</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExportSpec"
>ExportSpec</A
> l]</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ExportSpecList')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:ExportSpecList" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExportSpecList"
>ExportSpecList</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExportSpecList"
>ExportSpecList</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExportSpecList"
>ExportSpecList</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExportSpecList"
>ExportSpecList</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExportSpecList"
>ExportSpecList</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExportSpecList"
>ExportSpecList</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExportSpecList"
>ExportSpecList</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExportSpecList"
>ExportSpecList</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExportSpecList"
>ExportSpecList</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:ExportSpec"
><A NAME="t%3AExportSpec"
></A
></A
><B
>ExportSpec</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#ExportSpec"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>An item in a module's export specification.
</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:EVar"
><A NAME="v%3AEVar"
></A
></A
><B
>EVar</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
><TD CLASS="rdoc"
>variable
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:EAbs"
><A NAME="v%3AEAbs"
></A
></A
><B
>EAbs</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
><TD CLASS="rdoc"
><TT
>T</TT
>:
   a class or datatype exported abstractly,
   or a type synonym.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:EThingAll"
><A NAME="v%3AEThingAll"
></A
></A
><B
>EThingAll</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
><TD CLASS="rdoc"
><TT
>T(..)</TT
>:
   a class exported with all of its methods, or
   a datatype exported with all of its constructors.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:EThingWith"
><A NAME="v%3AEThingWith"
></A
></A
><B
>EThingWith</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACName"
>CName</A
> l]</TD
><TD CLASS="rdoc"
><TT
>T(C_1,...,C_n)</TT
>:
   a class exported with some of its methods, or
   a datatype exported with some of its constructors.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:EModuleContents"
><A NAME="v%3AEModuleContents"
></A
></A
><B
>EModuleContents</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleName"
>ModuleName</A
> l)</TD
><TD CLASS="rdoc"
><TT
>module M</TT
>:
   re-export a module.
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ExportSpec')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:ExportSpec" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExportSpec"
>ExportSpec</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExportSpec"
>ExportSpec</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExportSpec"
>ExportSpec</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExportSpec"
>ExportSpec</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExportSpec"
>ExportSpec</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExportSpec"
>ExportSpec</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExportSpec"
>ExportSpec</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExportSpec"
>ExportSpec</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExportSpec"
>ExportSpec</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:ImportDecl"
><A NAME="t%3AImportDecl"
></A
></A
><B
>ImportDecl</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#ImportDecl"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>An import 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:ImportDecl"
><A NAME="v%3AImportDecl"
></A
></A
><B
>ImportDecl</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:importAnn"
><A NAME="v%3AimportAnn"
></A
></A
><B
>importAnn</B
> :: l</TD
><TD CLASS="rdoc"
>annotation, used by parser for position of the <TT
>import</TT
> keyword.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:importModule"
><A NAME="v%3AimportModule"
></A
></A
><B
>importModule</B
> :: <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleName"
>ModuleName</A
> l</TD
><TD CLASS="rdoc"
>name of the module imported.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:importQualified"
><A NAME="v%3AimportQualified"
></A
></A
><B
>importQualified</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="rdoc"
>imported <TT
>qualified</TT
>?
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:importSrc"
><A NAME="v%3AimportSrc"
></A
></A
><B
>importSrc</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="rdoc"
>imported with <TT
>{-# SOURCE #-}</TT
>?
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:importPkg"
><A NAME="v%3AimportPkg"
></A
></A
><B
>importPkg</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>imported with explicit package name
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:importAs"
><A NAME="v%3AimportAs"
></A
></A
><B
>importAs</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleName"
>ModuleName</A
> l)</TD
><TD CLASS="rdoc"
>optional alias name in an <TT
>as</TT
> clause.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:importSpecs"
><A NAME="v%3AimportSpecs"
></A
></A
><B
>importSpecs</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportSpecList"
>ImportSpecList</A
> l)</TD
><TD CLASS="rdoc"
>optional list of import specifications.
</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ImportDecl')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:ImportDecl" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportDecl"
>ImportDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportDecl"
>ImportDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportDecl"
>ImportDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportDecl"
>ImportDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportDecl"
>ImportDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportDecl"
>ImportDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportDecl"
>ImportDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportDecl"
>ImportDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> pos =&gt; <A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportDecl"
>ImportDecl</A
> pos)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:ImportSpecList"
><A NAME="t%3AImportSpecList"
></A
></A
><B
>ImportSpecList</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#ImportSpecList"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>An explicit import specification list.
</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:ImportSpecList"
><A NAME="v%3AImportSpecList"
></A
></A
><B
>ImportSpecList</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
> [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportSpec"
>ImportSpec</A
> l]</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ImportSpecList')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:ImportSpecList" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportSpecList"
>ImportSpecList</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportSpecList"
>ImportSpecList</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportSpecList"
>ImportSpecList</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportSpecList"
>ImportSpecList</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportSpecList"
>ImportSpecList</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportSpecList"
>ImportSpecList</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportSpecList"
>ImportSpecList</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportSpecList"
>ImportSpecList</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportSpecList"
>ImportSpecList</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:ImportSpec"
><A NAME="t%3AImportSpec"
></A
></A
><B
>ImportSpec</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#ImportSpec"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>An import specification, representing a single explicit item imported
   (or hidden) from a module.
</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:IVar"
><A NAME="v%3AIVar"
></A
></A
><B
>IVar</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
><TD CLASS="rdoc"
>variable
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:IAbs"
><A NAME="v%3AIAbs"
></A
></A
><B
>IAbs</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
><TD CLASS="rdoc"
><TT
>T</TT
>:
   the name of a class, datatype or type synonym.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:IThingAll"
><A NAME="v%3AIThingAll"
></A
></A
><B
>IThingAll</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
><TD CLASS="rdoc"
><TT
>T(..)</TT
>:
   a class imported with all of its methods, or
   a datatype imported with all of its constructors.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:IThingWith"
><A NAME="v%3AIThingWith"
></A
></A
><B
>IThingWith</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACName"
>CName</A
> l]</TD
><TD CLASS="rdoc"
><TT
>T(C_1,...,C_n)</TT
>:
   a class imported with some of its methods, or
   a datatype imported with some of its constructors.
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ImportSpec')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:ImportSpec" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportSpec"
>ImportSpec</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportSpec"
>ImportSpec</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportSpec"
>ImportSpec</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportSpec"
>ImportSpec</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportSpec"
>ImportSpec</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportSpec"
>ImportSpec</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportSpec"
>ImportSpec</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportSpec"
>ImportSpec</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportSpec"
>ImportSpec</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Assoc"
><A NAME="t%3AAssoc"
></A
></A
><B
>Assoc</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Assoc"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Associativity of an operator.
</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:AssocNone"
><A NAME="v%3AAssocNone"
></A
></A
><B
>AssocNone</B
> l</TD
><TD CLASS="rdoc"
>non-associative operator (declared with <TT
>infix</TT
>)
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:AssocLeft"
><A NAME="v%3AAssocLeft"
></A
></A
><B
>AssocLeft</B
> l</TD
><TD CLASS="rdoc"
>left-associative operator (declared with <TT
>infixl</TT
>).
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:AssocRight"
><A NAME="v%3AAssocRight"
></A
></A
><B
>AssocRight</B
> l</TD
><TD CLASS="rdoc"
>right-associative operator (declared with <TT
>infixr</TT
>)
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Assoc')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Assoc" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAssoc"
>Assoc</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAssoc"
>Assoc</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAssoc"
>Assoc</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAssoc"
>Assoc</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAssoc"
>Assoc</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAssoc"
>Assoc</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAssoc"
>Assoc</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAssoc"
>Assoc</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAssoc"
>Assoc</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="2"
><A NAME="2"
>Declarations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Decl"
><A NAME="t%3ADecl"
></A
></A
><B
>Decl</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Decl"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A top-level 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:TypeDecl"
><A NAME="v%3ATypeDecl"
></A
></A
><B
>TypeDecl</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
><TD CLASS="rdoc"
>A type declaration
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TypeFamDecl"
><A NAME="v%3ATypeFamDecl"
></A
></A
><B
>TypeFamDecl</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l))</TD
><TD CLASS="rdoc"
>A type family declaration
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:DataDecl"
><A NAME="v%3ADataDecl"
></A
></A
><B
>DataDecl</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADataOrNew"
>DataOrNew</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualConDecl"
>QualConDecl</A
> l] (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeriving"
>Deriving</A
> l))</TD
><TD CLASS="rdoc"
>A data OR newtype declaration
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:GDataDecl"
><A NAME="v%3AGDataDecl"
></A
></A
><B
>GDataDecl</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADataOrNew"
>DataOrNew</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l)) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGadtDecl"
>GadtDecl</A
> l] (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeriving"
>Deriving</A
> l))</TD
><TD CLASS="rdoc"
>A data OR newtype declaration, GADT style
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:DataFamDecl"
><A NAME="v%3ADataFamDecl"
></A
></A
><B
>DataFamDecl</B
> l (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l))</TD
><TD CLASS="rdoc"
>A data family declaration
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TypeInsDecl"
><A NAME="v%3ATypeInsDecl"
></A
></A
><B
>TypeInsDecl</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
><TD CLASS="rdoc"
>A type family instance declaration
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:DataInsDecl"
><A NAME="v%3ADataInsDecl"
></A
></A
><B
>DataInsDecl</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADataOrNew"
>DataOrNew</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualConDecl"
>QualConDecl</A
> l] (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeriving"
>Deriving</A
> l))</TD
><TD CLASS="rdoc"
>A data family instance declaration
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:GDataInsDecl"
><A NAME="v%3AGDataInsDecl"
></A
></A
><B
>GDataInsDecl</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADataOrNew"
>DataOrNew</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l)) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGadtDecl"
>GadtDecl</A
> l] (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeriving"
>Deriving</A
> l))</TD
><TD CLASS="rdoc"
>A data family instance declaration, GADT style
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ClassDecl"
><A NAME="v%3AClassDecl"
></A
></A
><B
>ClassDecl</B
> l (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFunDep"
>FunDep</A
> l] (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AClassDecl"
>ClassDecl</A
> l])</TD
><TD CLASS="rdoc"
>A declaration of a type class
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:InstDecl"
><A NAME="v%3AInstDecl"
></A
></A
><B
>InstDecl</B
> l (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstHead"
>InstHead</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstDecl"
>InstDecl</A
> l])</TD
><TD CLASS="rdoc"
>An declaration of a type class instance
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:DerivDecl"
><A NAME="v%3ADerivDecl"
></A
></A
><B
>DerivDecl</B
> l (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstHead"
>InstHead</A
> l)</TD
><TD CLASS="rdoc"
>A standalone deriving declaration
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:InfixDecl"
><A NAME="v%3AInfixDecl"
></A
></A
><B
>InfixDecl</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAssoc"
>Assoc</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AOp"
>Op</A
> l]</TD
><TD CLASS="rdoc"
>A declaration of operator fixity
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:DefaultDecl"
><A NAME="v%3ADefaultDecl"
></A
></A
><B
>DefaultDecl</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l]</TD
><TD CLASS="rdoc"
>A declaration of default types
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:SpliceDecl"
><A NAME="v%3ASpliceDecl"
></A
></A
><B
>SpliceDecl</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>A Template Haskell splicing declaration
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TypeSig"
><A NAME="v%3ATypeSig"
></A
></A
><B
>TypeSig</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l] (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
><TD CLASS="rdoc"
>A type signature declaration
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:FunBind"
><A NAME="v%3AFunBind"
></A
></A
><B
>FunBind</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AMatch"
>Match</A
> l]</TD
><TD CLASS="rdoc"
>A set of function binding clauses
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PatBind"
><A NAME="v%3APatBind"
></A
></A
><B
>PatBind</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARhs"
>Rhs</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABinds"
>Binds</A
> l))</TD
><TD CLASS="rdoc"
>A pattern binding
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ForImp"
><A NAME="v%3AForImp"
></A
></A
><B
>ForImp</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACallConv"
>CallConv</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASafety"
>Safety</A
> l)) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
><TD CLASS="rdoc"
>A foreign import declaration
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ForExp"
><A NAME="v%3AForExp"
></A
></A
><B
>ForExp</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACallConv"
>CallConv</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
><TD CLASS="rdoc"
>A foreign export declaration
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RulePragmaDecl"
><A NAME="v%3ARulePragmaDecl"
></A
></A
><B
>RulePragmaDecl</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARule"
>Rule</A
> l]</TD
><TD CLASS="rdoc"
>A RULES pragma
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:DeprPragmaDecl"
><A NAME="v%3ADeprPragmaDecl"
></A
></A
><B
>DeprPragmaDecl</B
> l [([<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l], <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>)]</TD
><TD CLASS="rdoc"
>A DEPRECATED pragma
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:WarnPragmaDecl"
><A NAME="v%3AWarnPragmaDecl"
></A
></A
><B
>WarnPragmaDecl</B
> l [([<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l], <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>)]</TD
><TD CLASS="rdoc"
>A WARNING pragma
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:InlineSig"
><A NAME="v%3AInlineSig"
></A
></A
><B
>InlineSig</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
> (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AActivation"
>Activation</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
><TD CLASS="rdoc"
>An INLINE pragma
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:InlineConlikeSig"
><A NAME="v%3AInlineConlikeSig"
></A
></A
><B
>InlineConlikeSig</B
> l (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AActivation"
>Activation</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
><TD CLASS="rdoc"
>An INLINE CONLIKE pragma
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:SpecSig"
><A NAME="v%3ASpecSig"
></A
></A
><B
>SpecSig</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l]</TD
><TD CLASS="rdoc"
>A SPECIALISE pragma
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:SpecInlineSig"
><A NAME="v%3ASpecInlineSig"
></A
></A
><B
>SpecInlineSig</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
> (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AActivation"
>Activation</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l]</TD
><TD CLASS="rdoc"
>A SPECIALISE INLINE pragma
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:InstSig"
><A NAME="v%3AInstSig"
></A
></A
><B
>InstSig</B
> l (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstHead"
>InstHead</A
> l)</TD
><TD CLASS="rdoc"
>A SPECIALISE instance pragma
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:AnnPragma"
><A NAME="v%3AAnnPragma"
></A
></A
><B
>AnnPragma</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotation"
>Annotation</A
> l)</TD
><TD CLASS="rdoc"
>An ANN pragma
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Decl')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Decl" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADecl"
>Decl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADecl"
>Decl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADecl"
>Decl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADecl"
>Decl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Fixity.html#t%3AAppFixity"
>AppFixity</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADecl"
>Decl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADecl"
>Decl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADecl"
>Decl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADecl"
>Decl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADecl"
>Decl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> pos =&gt; <A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADecl"
>Decl</A
> pos)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Parser.html#t%3AParseable"
>Parseable</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADecl"
>Decl</A
> loc)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:DeclHead"
><A NAME="t%3ADeclHead"
></A
></A
><B
>DeclHead</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#DeclHead"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>The head of a type or class 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:DHead"
><A NAME="v%3ADHead"
></A
></A
><B
>DHead</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATyVarBind"
>TyVarBind</A
> l]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:DHInfix"
><A NAME="v%3ADHInfix"
></A
></A
><B
>DHInfix</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATyVarBind"
>TyVarBind</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATyVarBind"
>TyVarBind</A
> l)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:DHParen"
><A NAME="v%3ADHParen"
></A
></A
><B
>DHParen</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
> l)</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:DeclHead')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:DeclHead" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:InstHead"
><A NAME="t%3AInstHead"
></A
></A
><B
>InstHead</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#InstHead"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>The head of an instance 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:IHead"
><A NAME="v%3AIHead"
></A
></A
><B
>IHead</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:IHInfix"
><A NAME="v%3AIHInfix"
></A
></A
><B
>IHInfix</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:IHParen"
><A NAME="v%3AIHParen"
></A
></A
><B
>IHParen</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstHead"
>InstHead</A
> l)</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:InstHead')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:InstHead" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstHead"
>InstHead</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstHead"
>InstHead</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstHead"
>InstHead</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstHead"
>InstHead</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstHead"
>InstHead</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstHead"
>InstHead</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstHead"
>InstHead</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstHead"
>InstHead</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstHead"
>InstHead</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Binds"
><A NAME="t%3ABinds"
></A
></A
><B
>Binds</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Binds"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A binding group inside a <TT
>let</TT
> or <TT
>where</TT
> clause.
</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:BDecls"
><A NAME="v%3ABDecls"
></A
></A
><B
>BDecls</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADecl"
>Decl</A
> l]</TD
><TD CLASS="rdoc"
>An ordinary binding group
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:IPBinds"
><A NAME="v%3AIPBinds"
></A
></A
><B
>IPBinds</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPBind"
>IPBind</A
> l]</TD
><TD CLASS="rdoc"
>A binding group for implicit parameters
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Binds')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Binds" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABinds"
>Binds</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABinds"
>Binds</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABinds"
>Binds</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABinds"
>Binds</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Fixity.html#t%3AAppFixity"
>AppFixity</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABinds"
>Binds</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABinds"
>Binds</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABinds"
>Binds</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABinds"
>Binds</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABinds"
>Binds</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:IPBind"
><A NAME="t%3AIPBind"
></A
></A
><B
>IPBind</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#IPBind"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A binding of an implicit parameter.
</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:IPBind"
><A NAME="v%3AIPBind"
></A
></A
><B
>IPBind</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPName"
>IPName</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:IPBind')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:IPBind" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPBind"
>IPBind</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPBind"
>IPBind</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPBind"
>IPBind</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPBind"
>IPBind</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Fixity.html#t%3AAppFixity"
>AppFixity</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPBind"
>IPBind</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPBind"
>IPBind</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPBind"
>IPBind</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPBind"
>IPBind</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPBind"
>IPBind</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPBind"
>IPBind</A
> loc)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="3"
><A NAME="3"
>Type classes and instances
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:ClassDecl"
><A NAME="t%3AClassDecl"
></A
></A
><B
>ClassDecl</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#ClassDecl"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Declarations inside a class 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:ClsDecl"
><A NAME="v%3AClsDecl"
></A
></A
><B
>ClsDecl</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADecl"
>Decl</A
> l)</TD
><TD CLASS="rdoc"
>ordinary declaration
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ClsDataFam"
><A NAME="v%3AClsDataFam"
></A
></A
><B
>ClsDataFam</B
> l (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l))</TD
><TD CLASS="rdoc"
>declaration of an associated data type
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ClsTyFam"
><A NAME="v%3AClsTyFam"
></A
></A
><B
>ClsTyFam</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l))</TD
><TD CLASS="rdoc"
>declaration of an associated type synonym
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ClsTyDef"
><A NAME="v%3AClsTyDef"
></A
></A
><B
>ClsTyDef</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
><TD CLASS="rdoc"
>default choice for an associated type synonym
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ClassDecl')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:ClassDecl" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AClassDecl"
>ClassDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AClassDecl"
>ClassDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AClassDecl"
>ClassDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AClassDecl"
>ClassDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Fixity.html#t%3AAppFixity"
>AppFixity</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AClassDecl"
>ClassDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AClassDecl"
>ClassDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AClassDecl"
>ClassDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AClassDecl"
>ClassDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AClassDecl"
>ClassDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AClassDecl"
>ClassDecl</A
> loc)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:InstDecl"
><A NAME="t%3AInstDecl"
></A
></A
><B
>InstDecl</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#InstDecl"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Declarations inside an instance 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:InsDecl"
><A NAME="v%3AInsDecl"
></A
></A
><B
>InsDecl</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADecl"
>Decl</A
> l)</TD
><TD CLASS="rdoc"
>ordinary declaration
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:InsType"
><A NAME="v%3AInsType"
></A
></A
><B
>InsType</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
><TD CLASS="rdoc"
>an associated type definition
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:InsData"
><A NAME="v%3AInsData"
></A
></A
><B
>InsData</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADataOrNew"
>DataOrNew</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualConDecl"
>QualConDecl</A
> l] (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeriving"
>Deriving</A
> l))</TD
><TD CLASS="rdoc"
>an associated data type implementation
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:InsGData"
><A NAME="v%3AInsGData"
></A
></A
><B
>InsGData</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADataOrNew"
>DataOrNew</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l)) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGadtDecl"
>GadtDecl</A
> l] (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeriving"
>Deriving</A
> l))</TD
><TD CLASS="rdoc"
>an associated data type implemented using GADT style
</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="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstDecl"
>InstDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstDecl"
>InstDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstDecl"
>InstDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstDecl"
>InstDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Fixity.html#t%3AAppFixity"
>AppFixity</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstDecl"
>InstDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstDecl"
>InstDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstDecl"
>InstDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstDecl"
>InstDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstDecl"
>InstDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstDecl"
>InstDecl</A
> loc)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Deriving"
><A NAME="t%3ADeriving"
></A
></A
><B
>Deriving</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Deriving"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A deriving clause following a data type 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:Deriving"
><A NAME="v%3ADeriving"
></A
></A
><B
>Deriving</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstHead"
>InstHead</A
> l]</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Deriving')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Deriving" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeriving"
>Deriving</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeriving"
>Deriving</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeriving"
>Deriving</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeriving"
>Deriving</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeriving"
>Deriving</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeriving"
>Deriving</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeriving"
>Deriving</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeriving"
>Deriving</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeriving"
>Deriving</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="4"
><A NAME="4"
>Data type declarations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:DataOrNew"
><A NAME="t%3ADataOrNew"
></A
></A
><B
>DataOrNew</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#DataOrNew"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A flag stating whether a declaration is a data or newtype 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:DataType"
><A NAME="v%3ADataType"
></A
></A
><B
>DataType</B
> l</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:NewType"
><A NAME="v%3ANewType"
></A
></A
><B
>NewType</B
> l</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:DataOrNew')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:DataOrNew" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADataOrNew"
>DataOrNew</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADataOrNew"
>DataOrNew</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADataOrNew"
>DataOrNew</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADataOrNew"
>DataOrNew</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADataOrNew"
>DataOrNew</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADataOrNew"
>DataOrNew</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADataOrNew"
>DataOrNew</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADataOrNew"
>DataOrNew</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADataOrNew"
>DataOrNew</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:ConDecl"
><A NAME="t%3AConDecl"
></A
></A
><B
>ConDecl</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#ConDecl"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Declaration of an ordinary data constructor.
</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:ConDecl"
><A NAME="v%3AConDecl"
></A
></A
><B
>ConDecl</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABangType"
>BangType</A
> l]</TD
><TD CLASS="rdoc"
>ordinary data constructor
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:InfixConDecl"
><A NAME="v%3AInfixConDecl"
></A
></A
><B
>InfixConDecl</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABangType"
>BangType</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABangType"
>BangType</A
> l)</TD
><TD CLASS="rdoc"
>infix data constructor
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RecDecl"
><A NAME="v%3ARecDecl"
></A
></A
><B
>RecDecl</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldDecl"
>FieldDecl</A
> l]</TD
><TD CLASS="rdoc"
>record constructor
</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="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AConDecl"
>ConDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AConDecl"
>ConDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AConDecl"
>ConDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AConDecl"
>ConDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AConDecl"
>ConDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AConDecl"
>ConDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AConDecl"
>ConDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AConDecl"
>ConDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AConDecl"
>ConDecl</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:FieldDecl"
><A NAME="t%3AFieldDecl"
></A
></A
><B
>FieldDecl</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#FieldDecl"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Declaration of a (list of) named field(s).
</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:FieldDecl"
><A NAME="v%3AFieldDecl"
></A
></A
><B
>FieldDecl</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l] (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABangType"
>BangType</A
> l)</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:FieldDecl')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:FieldDecl" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldDecl"
>FieldDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldDecl"
>FieldDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldDecl"
>FieldDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldDecl"
>FieldDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldDecl"
>FieldDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldDecl"
>FieldDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldDecl"
>FieldDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldDecl"
>FieldDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldDecl"
>FieldDecl</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:QualConDecl"
><A NAME="t%3AQualConDecl"
></A
></A
><B
>QualConDecl</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#QualConDecl"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A single constructor declaration within a data type declaration,
   which may have an existential quantification binding.
</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:QualConDecl"
><A NAME="v%3AQualConDecl"
></A
></A
><B
>QualConDecl</B
> l (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATyVarBind"
>TyVarBind</A
> l]) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AConDecl"
>ConDecl</A
> l)</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:QualConDecl')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:QualConDecl" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualConDecl"
>QualConDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualConDecl"
>QualConDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualConDecl"
>QualConDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualConDecl"
>QualConDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualConDecl"
>QualConDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualConDecl"
>QualConDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualConDecl"
>QualConDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualConDecl"
>QualConDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualConDecl"
>QualConDecl</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:GadtDecl"
><A NAME="t%3AGadtDecl"
></A
></A
><B
>GadtDecl</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#GadtDecl"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A single constructor declaration in a GADT data type 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:GadtDecl"
><A NAME="v%3AGadtDecl"
></A
></A
><B
>GadtDecl</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:GadtDecl')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:GadtDecl" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGadtDecl"
>GadtDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGadtDecl"
>GadtDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGadtDecl"
>GadtDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGadtDecl"
>GadtDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGadtDecl"
>GadtDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGadtDecl"
>GadtDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGadtDecl"
>GadtDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGadtDecl"
>GadtDecl</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGadtDecl"
>GadtDecl</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:BangType"
><A NAME="t%3ABangType"
></A
></A
><B
>BangType</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#BangType"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>The type of a constructor argument or field, optionally including
   a strictness annotation.
</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:BangedTy"
><A NAME="v%3ABangedTy"
></A
></A
><B
>BangedTy</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
><TD CLASS="rdoc"
>strict component, marked with &quot;<TT
>!</TT
>&quot;
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:UnBangedTy"
><A NAME="v%3AUnBangedTy"
></A
></A
><B
>UnBangedTy</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
><TD CLASS="rdoc"
>non-strict component
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:UnpackedTy"
><A NAME="v%3AUnpackedTy"
></A
></A
><B
>UnpackedTy</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
><TD CLASS="rdoc"
>unboxed component, marked with an UNPACK pragma
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:BangType')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:BangType" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABangType"
>BangType</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABangType"
>BangType</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABangType"
>BangType</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABangType"
>BangType</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABangType"
>BangType</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABangType"
>BangType</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABangType"
>BangType</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABangType"
>BangType</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABangType"
>BangType</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="5"
><A NAME="5"
>Function bindings
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Match"
><A NAME="t%3AMatch"
></A
></A
><B
>Match</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Match"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Clauses of a function binding.
</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:Match"
><A NAME="v%3AMatch"
></A
></A
><B
>Match</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l] (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARhs"
>Rhs</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABinds"
>Binds</A
> l))</TD
><TD CLASS="rdoc"
>A clause defined with prefix notation, i.e. the function name 
  followed by its argument patterns, the right-hand side and an
  optional where clause.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:InfixMatch"
><A NAME="v%3AInfixMatch"
></A
></A
><B
>InfixMatch</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l] (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARhs"
>Rhs</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABinds"
>Binds</A
> l))</TD
><TD CLASS="rdoc"
>A clause defined with infix notation, i.e. first its first argument
  pattern, then the function name, then its following argument(s),
  the right-hand side and an optional where clause.
  Note that there can be more than two arguments to a function declared
  infix, hence the list of pattern arguments.
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Match')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Match" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AMatch"
>Match</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AMatch"
>Match</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AMatch"
>Match</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AMatch"
>Match</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Fixity.html#t%3AAppFixity"
>AppFixity</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AMatch"
>Match</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AMatch"
>Match</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AMatch"
>Match</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AMatch"
>Match</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AMatch"
>Match</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> pos =&gt; <A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AMatch"
>Match</A
> pos)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Rhs"
><A NAME="t%3ARhs"
></A
></A
><B
>Rhs</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Rhs"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>The right hand side of a function or pattern binding.
</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:UnGuardedRhs"
><A NAME="v%3AUnGuardedRhs"
></A
></A
><B
>UnGuardedRhs</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>unguarded right hand side (<EM
>exp</EM
>)
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:GuardedRhss"
><A NAME="v%3AGuardedRhss"
></A
></A
><B
>GuardedRhss</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedRhs"
>GuardedRhs</A
> l]</TD
><TD CLASS="rdoc"
>guarded right hand side (<EM
>gdrhs</EM
>)
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Rhs')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Rhs" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARhs"
>Rhs</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARhs"
>Rhs</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARhs"
>Rhs</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARhs"
>Rhs</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Fixity.html#t%3AAppFixity"
>AppFixity</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARhs"
>Rhs</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARhs"
>Rhs</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARhs"
>Rhs</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARhs"
>Rhs</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARhs"
>Rhs</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARhs"
>Rhs</A
> loc)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:GuardedRhs"
><A NAME="t%3AGuardedRhs"
></A
></A
><B
>GuardedRhs</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#GuardedRhs"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A guarded right hand side <TT
>|</TT
> <EM
>stmts</EM
> <TT
>=</TT
> <EM
>exp</EM
>.
   The guard is a series of statements when using pattern guards,
   otherwise it will be a single qualifier expression.
</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:GuardedRhs"
><A NAME="v%3AGuardedRhs"
></A
></A
><B
>GuardedRhs</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AStmt"
>Stmt</A
> l] (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:GuardedRhs')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:GuardedRhs" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedRhs"
>GuardedRhs</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedRhs"
>GuardedRhs</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedRhs"
>GuardedRhs</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedRhs"
>GuardedRhs</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Fixity.html#t%3AAppFixity"
>AppFixity</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedRhs"
>GuardedRhs</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedRhs"
>GuardedRhs</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedRhs"
>GuardedRhs</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedRhs"
>GuardedRhs</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedRhs"
>GuardedRhs</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedRhs"
>GuardedRhs</A
> loc)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="6"
><A NAME="6"
>Class Assertions and Contexts
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Context"
><A NAME="t%3AContext"
></A
></A
><B
>Context</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Context"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A context is a set of assertions
</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:CxSingle"
><A NAME="v%3ACxSingle"
></A
></A
><B
>CxSingle</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAsst"
>Asst</A
> l)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:CxTuple"
><A NAME="v%3ACxTuple"
></A
></A
><B
>CxTuple</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAsst"
>Asst</A
> l]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:CxParen"
><A NAME="v%3ACxParen"
></A
></A
><B
>CxParen</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:CxEmpty"
><A NAME="v%3ACxEmpty"
></A
></A
><B
>CxEmpty</B
> l</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Context')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Context" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:FunDep"
><A NAME="t%3AFunDep"
></A
></A
><B
>FunDep</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#FunDep"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A functional dependency, given on the form
   l1 l2 ... ln -&gt; r2 r3 .. rn
</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:FunDep"
><A NAME="v%3AFunDep"
></A
></A
><B
>FunDep</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l] [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l]</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:FunDep')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:FunDep" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFunDep"
>FunDep</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFunDep"
>FunDep</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFunDep"
>FunDep</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFunDep"
>FunDep</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFunDep"
>FunDep</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFunDep"
>FunDep</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFunDep"
>FunDep</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFunDep"
>FunDep</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFunDep"
>FunDep</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Asst"
><A NAME="t%3AAsst"
></A
></A
><B
>Asst</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Asst"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Class assertions.
   In Haskell 98, the argument would be a <EM
>tyvar</EM
>, but this definition
   allows multiple parameters, and allows them to be <EM
>type</EM
>s.
   Also extended with support for implicit parameters and equality constraints.
</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:ClassA"
><A NAME="v%3AClassA"
></A
></A
><B
>ClassA</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l]</TD
><TD CLASS="rdoc"
>ordinary class assertion
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:InfixA"
><A NAME="v%3AInfixA"
></A
></A
><B
>InfixA</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
><TD CLASS="rdoc"
>class assertion where the class name is given infix
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:IParam"
><A NAME="v%3AIParam"
></A
></A
><B
>IParam</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPName"
>IPName</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
><TD CLASS="rdoc"
>implicit parameter assertion
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:EqualP"
><A NAME="v%3AEqualP"
></A
></A
><B
>EqualP</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
><TD CLASS="rdoc"
>type equality constraint
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Asst')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Asst" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAsst"
>Asst</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAsst"
>Asst</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAsst"
>Asst</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAsst"
>Asst</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAsst"
>Asst</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAsst"
>Asst</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAsst"
>Asst</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAsst"
>Asst</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAsst"
>Asst</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="7"
><A NAME="7"
>Types
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Type"
><A NAME="t%3AType"
></A
></A
><B
>Type</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Type"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A type qualified with a context.
   An unqualified type has an empty context.
</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:TyForall"
><A NAME="v%3ATyForall"
></A
></A
><B
>TyForall</B
> l (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATyVarBind"
>TyVarBind</A
> l]) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
> l)) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
><TD CLASS="rdoc"
>qualified type
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TyFun"
><A NAME="v%3ATyFun"
></A
></A
><B
>TyFun</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
><TD CLASS="rdoc"
>function type
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TyTuple"
><A NAME="v%3ATyTuple"
></A
></A
><B
>TyTuple</B
> l <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABoxed"
>Boxed</A
> [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l]</TD
><TD CLASS="rdoc"
>tuple type, possibly boxed
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TyList"
><A NAME="v%3ATyList"
></A
></A
><B
>TyList</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
><TD CLASS="rdoc"
>list syntax, e.g. [a], as opposed to [] a
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TyApp"
><A NAME="v%3ATyApp"
></A
></A
><B
>TyApp</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
><TD CLASS="rdoc"
>application of a type constructor
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TyVar"
><A NAME="v%3ATyVar"
></A
></A
><B
>TyVar</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
><TD CLASS="rdoc"
>type variable
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TyCon"
><A NAME="v%3ATyCon"
></A
></A
><B
>TyCon</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
><TD CLASS="rdoc"
>named type or type constructor
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TyParen"
><A NAME="v%3ATyParen"
></A
></A
><B
>TyParen</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
><TD CLASS="rdoc"
>type surrounded by parentheses
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TyInfix"
><A NAME="v%3ATyInfix"
></A
></A
><B
>TyInfix</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
><TD CLASS="rdoc"
>infix type constructor
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TyKind"
><A NAME="v%3ATyKind"
></A
></A
><B
>TyKind</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l)</TD
><TD CLASS="rdoc"
>type with explicit kind signature
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Type')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Type" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Parser.html#t%3AParseable"
>Parseable</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> loc)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Boxed"
><A NAME="t%3ABoxed"
></A
></A
><B
>Boxed</B
>  </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Boxed"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Flag denoting whether a tuple is boxed or unboxed.
</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:Boxed"
><A NAME="v%3ABoxed"
></A
></A
><B
>Boxed</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Unboxed"
><A NAME="v%3AUnboxed"
></A
></A
><B
>Unboxed</B
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Boxed')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Boxed" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABoxed"
>Boxed</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABoxed"
>Boxed</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABoxed"
>Boxed</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABoxed"
>Boxed</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable"
>Typeable</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABoxed"
>Boxed</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Kind"
><A NAME="t%3AKind"
></A
></A
><B
>Kind</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Kind"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>An explicit kind annotation.
</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:KindStar"
><A NAME="v%3AKindStar"
></A
></A
><B
>KindStar</B
> l</TD
><TD CLASS="rdoc"
><TT
>*</TT
>, the kind of types
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:KindBang"
><A NAME="v%3AKindBang"
></A
></A
><B
>KindBang</B
> l</TD
><TD CLASS="rdoc"
><TT
>!</TT
>, the kind of unboxed types
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:KindFn"
><A NAME="v%3AKindFn"
></A
></A
><B
>KindFn</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l)</TD
><TD CLASS="rdoc"
><TT
>-&gt;</TT
>, the kind of a type constructor
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:KindParen"
><A NAME="v%3AKindParen"
></A
></A
><B
>KindParen</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l)</TD
><TD CLASS="rdoc"
>a parenthesised kind
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:KindVar"
><A NAME="v%3AKindVar"
></A
></A
><B
>KindVar</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
><TD CLASS="rdoc"
>a kind variable (as-of-yet unsupported by compilers)
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Kind')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Kind" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:TyVarBind"
><A NAME="t%3ATyVarBind"
></A
></A
><B
>TyVarBind</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#TyVarBind"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A type variable declaration, optionally with an explicit kind annotation.
</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:KindedVar"
><A NAME="v%3AKindedVar"
></A
></A
><B
>KindedVar</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
> l)</TD
><TD CLASS="rdoc"
>variable binding with kind annotation
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:UnkindedVar"
><A NAME="v%3AUnkindedVar"
></A
></A
><B
>UnkindedVar</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
><TD CLASS="rdoc"
>ordinary variable binding
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:TyVarBind')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:TyVarBind" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATyVarBind"
>TyVarBind</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATyVarBind"
>TyVarBind</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATyVarBind"
>TyVarBind</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATyVarBind"
>TyVarBind</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATyVarBind"
>TyVarBind</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATyVarBind"
>TyVarBind</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATyVarBind"
>TyVarBind</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATyVarBind"
>TyVarBind</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATyVarBind"
>TyVarBind</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="8"
><A NAME="8"
>Expressions
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Exp"
><A NAME="t%3AExp"
></A
></A
><B
>Exp</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Exp"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Haskell expressions.
</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:Var"
><A NAME="v%3AVar"
></A
></A
><B
>Var</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
><TD CLASS="rdoc"
>variable
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:IPVar"
><A NAME="v%3AIPVar"
></A
></A
><B
>IPVar</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPName"
>IPName</A
> l)</TD
><TD CLASS="rdoc"
>implicit parameter variable
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Con"
><A NAME="v%3ACon"
></A
></A
><B
>Con</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
><TD CLASS="rdoc"
>data constructor
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Lit"
><A NAME="v%3ALit"
></A
></A
><B
>Lit</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ALiteral"
>Literal</A
> l)</TD
><TD CLASS="rdoc"
>literal constant
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:InfixApp"
><A NAME="v%3AInfixApp"
></A
></A
><B
>InfixApp</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQOp"
>QOp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>infix application
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:App"
><A NAME="v%3AApp"
></A
></A
><B
>App</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>ordinary application
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:NegApp"
><A NAME="v%3ANegApp"
></A
></A
><B
>NegApp</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>negation expression <TT
>-<EM
>exp</EM
></TT
> (unary minus)
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Lambda"
><A NAME="v%3ALambda"
></A
></A
><B
>Lambda</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l] (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>lambda expression
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Let"
><A NAME="v%3ALet"
></A
></A
><B
>Let</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABinds"
>Binds</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>local declarations with <TT
>let</TT
> ... <TT
>in</TT
> ...
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:If"
><A NAME="v%3AIf"
></A
></A
><B
>If</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
><TT
>if</TT
> <EM
>exp</EM
> <TT
>then</TT
> <EM
>exp</EM
> <TT
>else</TT
> <EM
>exp</EM
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Case"
><A NAME="v%3ACase"
></A
></A
><B
>Case</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAlt"
>Alt</A
> l]</TD
><TD CLASS="rdoc"
><TT
>case</TT
> <EM
>exp</EM
> <TT
>of</TT
> <EM
>alts</EM
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Do"
><A NAME="v%3ADo"
></A
></A
><B
>Do</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AStmt"
>Stmt</A
> l]</TD
><TD CLASS="rdoc"
><TT
>do</TT
>-expression:
   the last statement in the list
   should be an expression.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:MDo"
><A NAME="v%3AMDo"
></A
></A
><B
>MDo</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AStmt"
>Stmt</A
> l]</TD
><TD CLASS="rdoc"
><TT
>mdo</TT
>-expression
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Tuple"
><A NAME="v%3ATuple"
></A
></A
><B
>Tuple</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l]</TD
><TD CLASS="rdoc"
>tuple expression
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TupleSection"
><A NAME="v%3ATupleSection"
></A
></A
><B
>TupleSection</B
> l [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)]</TD
><TD CLASS="rdoc"
>tuple section expression, e.g. <TT
>(,,3)</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:List"
><A NAME="v%3AList"
></A
></A
><B
>List</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l]</TD
><TD CLASS="rdoc"
>list expression
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Paren"
><A NAME="v%3AParen"
></A
></A
><B
>Paren</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>parenthesised expression
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:LeftSection"
><A NAME="v%3ALeftSection"
></A
></A
><B
>LeftSection</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQOp"
>QOp</A
> l)</TD
><TD CLASS="rdoc"
>left section <TT
>(</TT
><EM
>exp</EM
> <EM
>qop</EM
><TT
>)</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RightSection"
><A NAME="v%3ARightSection"
></A
></A
><B
>RightSection</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQOp"
>QOp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>right section <TT
>(</TT
><EM
>qop</EM
> <EM
>exp</EM
><TT
>)</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RecConstr"
><A NAME="v%3ARecConstr"
></A
></A
><B
>RecConstr</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldUpdate"
>FieldUpdate</A
> l]</TD
><TD CLASS="rdoc"
>record construction expression
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RecUpdate"
><A NAME="v%3ARecUpdate"
></A
></A
><B
>RecUpdate</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldUpdate"
>FieldUpdate</A
> l]</TD
><TD CLASS="rdoc"
>record update expression
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:EnumFrom"
><A NAME="v%3AEnumFrom"
></A
></A
><B
>EnumFrom</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>unbounded arithmetic sequence,
   incrementing by 1: <TT
>[from ..]</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:EnumFromTo"
><A NAME="v%3AEnumFromTo"
></A
></A
><B
>EnumFromTo</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>bounded arithmetic sequence,
   incrementing by 1 <TT
>[from .. to]</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:EnumFromThen"
><A NAME="v%3AEnumFromThen"
></A
></A
><B
>EnumFromThen</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>unbounded arithmetic sequence,
   with first two elements given <TT
>[from, then ..]</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:EnumFromThenTo"
><A NAME="v%3AEnumFromThenTo"
></A
></A
><B
>EnumFromThenTo</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>bounded arithmetic sequence,
   with first two elements given <TT
>[from, then .. to]</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ListComp"
><A NAME="v%3AListComp"
></A
></A
><B
>ListComp</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualStmt"
>QualStmt</A
> l]</TD
><TD CLASS="rdoc"
>ordinary list comprehension
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ParComp"
><A NAME="v%3AParComp"
></A
></A
><B
>ParComp</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) [[<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualStmt"
>QualStmt</A
> l]]</TD
><TD CLASS="rdoc"
>parallel list comprehension
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ExpTypeSig"
><A NAME="v%3AExpTypeSig"
></A
></A
><B
>ExpTypeSig</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
><TD CLASS="rdoc"
>expression with explicit type signature
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:VarQuote"
><A NAME="v%3AVarQuote"
></A
></A
><B
>VarQuote</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
><TD CLASS="rdoc"
><TT
>'x</TT
> for template haskell reifying of expressions
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TypQuote"
><A NAME="v%3ATypQuote"
></A
></A
><B
>TypQuote</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
><TD CLASS="rdoc"
><TT
>''T</TT
> for template haskell reifying of types
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:BracketExp"
><A NAME="v%3ABracketExp"
></A
></A
><B
>BracketExp</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABracket"
>Bracket</A
> l)</TD
><TD CLASS="rdoc"
>template haskell bracket expression
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:SpliceExp"
><A NAME="v%3ASpliceExp"
></A
></A
><B
>SpliceExp</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASplice"
>Splice</A
> l)</TD
><TD CLASS="rdoc"
>template haskell splice expression
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:QuasiQuote"
><A NAME="v%3AQuasiQuote"
></A
></A
><B
>QuasiQuote</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>quasi-quotaion: <TT
>[$<EM
>name</EM
>| <EM
>string</EM
> |]</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:XTag"
><A NAME="v%3AXTag"
></A
></A
><B
>XTag</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXName"
>XName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXAttr"
>XAttr</A
> l] (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l]</TD
><TD CLASS="rdoc"
>xml element, with attributes and children
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:XETag"
><A NAME="v%3AXETag"
></A
></A
><B
>XETag</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXName"
>XName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXAttr"
>XAttr</A
> l] (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l))</TD
><TD CLASS="rdoc"
>empty xml element, with attributes
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:XPcdata"
><A NAME="v%3AXPcdata"
></A
></A
><B
>XPcdata</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>PCDATA child element
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:XExpTag"
><A NAME="v%3AXExpTag"
></A
></A
><B
>XExpTag</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>escaped haskell expression inside xml
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:CorePragma"
><A NAME="v%3ACorePragma"
></A
></A
><B
>CorePragma</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>CORE pragma
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:SCCPragma"
><A NAME="v%3ASCCPragma"
></A
></A
><B
>SCCPragma</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>SCC pragma
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:GenPragma"
><A NAME="v%3AGenPragma"
></A
></A
><B
>GenPragma</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>, <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>, <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>GENERATED pragma
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Proc"
><A NAME="v%3AProc"
></A
></A
><B
>Proc</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>arrows proc: <TT
>proc</TT
> <EM
>pat</EM
> <TT
>-&gt;</TT
> <EM
>exp</EM
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:LeftArrApp"
><A NAME="v%3ALeftArrApp"
></A
></A
><B
>LeftArrApp</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>arrow application (from left): <EM
>exp</EM
> <TT
>-&lt;</TT
> <EM
>exp</EM
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RightArrApp"
><A NAME="v%3ARightArrApp"
></A
></A
><B
>RightArrApp</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>arrow application (from right): <EM
>exp</EM
> <TT
>&gt;-</TT
> <EM
>exp</EM
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:LeftArrHighApp"
><A NAME="v%3ALeftArrHighApp"
></A
></A
><B
>LeftArrHighApp</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>higher-order arrow application (from left): <EM
>exp</EM
> <TT
>-&lt;&lt;</TT
> <EM
>exp</EM
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RightArrHighApp"
><A NAME="v%3ARightArrHighApp"
></A
></A
><B
>RightArrHighApp</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>higher-order arrow application (from right): <EM
>exp</EM
> <TT
>&gt;&gt;-</TT
> <EM
>exp</EM
>
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Exp')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Exp" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Fixity.html#t%3AAppFixity"
>AppFixity</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> loc)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Parser.html#t%3AParseable"
>Parseable</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> loc)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Stmt"
><A NAME="t%3AStmt"
></A
></A
><B
>Stmt</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Stmt"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A statement, representing both a <EM
>stmt</EM
> in a <TT
>do</TT
>-expression,
   an ordinary <EM
>qual</EM
> in a list comprehension, as well as a <EM
>stmt</EM
>
   in a pattern guard.
</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:Generator"
><A NAME="v%3AGenerator"
></A
></A
><B
>Generator</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>a generator: <EM
>pat</EM
> <TT
>&lt;-</TT
> <EM
>exp</EM
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Qualifier"
><A NAME="v%3AQualifier"
></A
></A
><B
>Qualifier</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>an <EM
>exp</EM
> by itself: in a <TT
>do</TT
>-expression,
   an action whose result is discarded;
   in a list comprehension and pattern guard,
   a guard expression
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:LetStmt"
><A NAME="v%3ALetStmt"
></A
></A
><B
>LetStmt</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABinds"
>Binds</A
> l)</TD
><TD CLASS="rdoc"
>local bindings
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RecStmt"
><A NAME="v%3ARecStmt"
></A
></A
><B
>RecStmt</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AStmt"
>Stmt</A
> l]</TD
><TD CLASS="rdoc"
>a recursive binding group for arrows
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Stmt')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Stmt" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AStmt"
>Stmt</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AStmt"
>Stmt</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AStmt"
>Stmt</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AStmt"
>Stmt</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Fixity.html#t%3AAppFixity"
>AppFixity</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AStmt"
>Stmt</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AStmt"
>Stmt</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AStmt"
>Stmt</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AStmt"
>Stmt</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AStmt"
>Stmt</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AStmt"
>Stmt</A
> loc)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Parser.html#t%3AParseable"
>Parseable</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AStmt"
>Stmt</A
> loc)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:QualStmt"
><A NAME="t%3AQualStmt"
></A
></A
><B
>QualStmt</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#QualStmt"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A general <EM
>transqual</EM
> in a list comprehension,
   which could potentially be a transform of the kind
   enabled by TransformListComp.
</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:QualStmt"
><A NAME="v%3AQualStmt"
></A
></A
><B
>QualStmt</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AStmt"
>Stmt</A
> l)</TD
><TD CLASS="rdoc"
>an ordinary statement
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ThenTrans"
><A NAME="v%3AThenTrans"
></A
></A
><B
>ThenTrans</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
><TT
>then</TT
> <EM
>exp</EM
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ThenBy"
><A NAME="v%3AThenBy"
></A
></A
><B
>ThenBy</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
><TT
>then</TT
> <EM
>exp</EM
> <TT
>by</TT
> <EM
>exp</EM
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:GroupBy"
><A NAME="v%3AGroupBy"
></A
></A
><B
>GroupBy</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
><TT
>then</TT
> <TT
>group</TT
> <TT
>by</TT
> <EM
>exp</EM
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:GroupUsing"
><A NAME="v%3AGroupUsing"
></A
></A
><B
>GroupUsing</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
><TT
>then</TT
> <TT
>group</TT
> <TT
>using</TT
> <EM
>exp</EM
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:GroupByUsing"
><A NAME="v%3AGroupByUsing"
></A
></A
><B
>GroupByUsing</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
><TT
>then</TT
> <TT
>group</TT
> <TT
>by</TT
> <EM
>exp</EM
> <TT
>using</TT
> <EM
>exp</EM
>
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:QualStmt')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:QualStmt" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualStmt"
>QualStmt</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualStmt"
>QualStmt</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualStmt"
>QualStmt</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualStmt"
>QualStmt</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Fixity.html#t%3AAppFixity"
>AppFixity</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualStmt"
>QualStmt</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualStmt"
>QualStmt</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualStmt"
>QualStmt</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualStmt"
>QualStmt</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualStmt"
>QualStmt</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualStmt"
>QualStmt</A
> loc)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:FieldUpdate"
><A NAME="t%3AFieldUpdate"
></A
></A
><B
>FieldUpdate</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#FieldUpdate"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>An <EM
>fbind</EM
> in a labeled construction or update expression.
</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:FieldUpdate"
><A NAME="v%3AFieldUpdate"
></A
></A
><B
>FieldUpdate</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>ordinary label-expresion pair
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:FieldPun"
><A NAME="v%3AFieldPun"
></A
></A
><B
>FieldPun</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
><TD CLASS="rdoc"
>record field pun
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:FieldWildcard"
><A NAME="v%3AFieldWildcard"
></A
></A
><B
>FieldWildcard</B
> l</TD
><TD CLASS="rdoc"
>record field wildcard
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:FieldUpdate')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:FieldUpdate" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldUpdate"
>FieldUpdate</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldUpdate"
>FieldUpdate</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldUpdate"
>FieldUpdate</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldUpdate"
>FieldUpdate</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Fixity.html#t%3AAppFixity"
>AppFixity</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldUpdate"
>FieldUpdate</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldUpdate"
>FieldUpdate</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldUpdate"
>FieldUpdate</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldUpdate"
>FieldUpdate</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldUpdate"
>FieldUpdate</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldUpdate"
>FieldUpdate</A
> loc)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Alt"
><A NAME="t%3AAlt"
></A
></A
><B
>Alt</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Alt"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>An <EM
>alt</EM
> alternative in a <TT
>case</TT
> expression.
</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:Alt"
><A NAME="v%3AAlt"
></A
></A
><B
>Alt</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedAlts"
>GuardedAlts</A
> l) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABinds"
>Binds</A
> l))</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Alt')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Alt" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAlt"
>Alt</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAlt"
>Alt</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAlt"
>Alt</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAlt"
>Alt</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Fixity.html#t%3AAppFixity"
>AppFixity</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAlt"
>Alt</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAlt"
>Alt</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAlt"
>Alt</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAlt"
>Alt</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAlt"
>Alt</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAlt"
>Alt</A
> loc)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:GuardedAlts"
><A NAME="t%3AGuardedAlts"
></A
></A
><B
>GuardedAlts</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#GuardedAlts"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>The right-hand sides of a <TT
>case</TT
> alternative,
   which may be a single right-hand side or a
   set of guarded ones.
</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:UnGuardedAlt"
><A NAME="v%3AUnGuardedAlt"
></A
></A
><B
>UnGuardedAlt</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
><TT
>-&gt;</TT
> <EM
>exp</EM
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:GuardedAlts"
><A NAME="v%3AGuardedAlts"
></A
></A
><B
>GuardedAlts</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedAlt"
>GuardedAlt</A
> l]</TD
><TD CLASS="rdoc"
><EM
>gdpat</EM
>
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:GuardedAlts')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:GuardedAlts" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedAlts"
>GuardedAlts</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedAlts"
>GuardedAlts</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedAlts"
>GuardedAlts</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedAlts"
>GuardedAlts</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Fixity.html#t%3AAppFixity"
>AppFixity</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedAlts"
>GuardedAlts</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedAlts"
>GuardedAlts</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedAlts"
>GuardedAlts</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedAlts"
>GuardedAlts</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedAlts"
>GuardedAlts</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedAlts"
>GuardedAlts</A
> loc)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:GuardedAlt"
><A NAME="t%3AGuardedAlt"
></A
></A
><B
>GuardedAlt</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#GuardedAlt"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A guarded case alternative <TT
>|</TT
> <EM
>stmts</EM
> <TT
>-&gt;</TT
> <EM
>exp</EM
>.
</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:GuardedAlt"
><A NAME="v%3AGuardedAlt"
></A
></A
><B
>GuardedAlt</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AStmt"
>Stmt</A
> l] (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:GuardedAlt')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:GuardedAlt" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedAlt"
>GuardedAlt</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedAlt"
>GuardedAlt</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedAlt"
>GuardedAlt</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedAlt"
>GuardedAlt</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Fixity.html#t%3AAppFixity"
>AppFixity</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedAlt"
>GuardedAlt</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedAlt"
>GuardedAlt</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedAlt"
>GuardedAlt</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedAlt"
>GuardedAlt</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedAlt"
>GuardedAlt</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedAlt"
>GuardedAlt</A
> loc)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:XAttr"
><A NAME="t%3AXAttr"
></A
></A
><B
>XAttr</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#XAttr"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>An xml attribute, which is a name-expression pair.
</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:XAttr"
><A NAME="v%3AXAttr"
></A
></A
><B
>XAttr</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXName"
>XName</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:XAttr')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:XAttr" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXAttr"
>XAttr</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXAttr"
>XAttr</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXAttr"
>XAttr</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXAttr"
>XAttr</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Fixity.html#t%3AAppFixity"
>AppFixity</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXAttr"
>XAttr</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXAttr"
>XAttr</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXAttr"
>XAttr</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXAttr"
>XAttr</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXAttr"
>XAttr</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXAttr"
>XAttr</A
> loc)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="9"
><A NAME="9"
>Patterns
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Pat"
><A NAME="t%3APat"
></A
></A
><B
>Pat</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Pat"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A pattern, to be matched against a value.
</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:PVar"
><A NAME="v%3APVar"
></A
></A
><B
>PVar</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
><TD CLASS="rdoc"
>variable
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PLit"
><A NAME="v%3APLit"
></A
></A
><B
>PLit</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ALiteral"
>Literal</A
> l)</TD
><TD CLASS="rdoc"
>literal constant
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PNeg"
><A NAME="v%3APNeg"
></A
></A
><B
>PNeg</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</TD
><TD CLASS="rdoc"
>negated pattern
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PNPlusK"
><A NAME="v%3APNPlusK"
></A
></A
><B
>PNPlusK</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3AInteger"
>Integer</A
></TD
><TD CLASS="rdoc"
>n+k pattern
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PInfixApp"
><A NAME="v%3APInfixApp"
></A
></A
><B
>PInfixApp</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</TD
><TD CLASS="rdoc"
>pattern with an infix data constructor
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PApp"
><A NAME="v%3APApp"
></A
></A
><B
>PApp</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l]</TD
><TD CLASS="rdoc"
>data constructor and argument patterns
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PTuple"
><A NAME="v%3APTuple"
></A
></A
><B
>PTuple</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l]</TD
><TD CLASS="rdoc"
>tuple pattern
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PList"
><A NAME="v%3APList"
></A
></A
><B
>PList</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l]</TD
><TD CLASS="rdoc"
>list pattern
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PParen"
><A NAME="v%3APParen"
></A
></A
><B
>PParen</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</TD
><TD CLASS="rdoc"
>parenthesized pattern
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PRec"
><A NAME="v%3APRec"
></A
></A
><B
>PRec</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APatField"
>PatField</A
> l]</TD
><TD CLASS="rdoc"
>labelled pattern, record style
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PAsPat"
><A NAME="v%3APAsPat"
></A
></A
><B
>PAsPat</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</TD
><TD CLASS="rdoc"
><TT
>@</TT
>-pattern
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PWildCard"
><A NAME="v%3APWildCard"
></A
></A
><B
>PWildCard</B
> l</TD
><TD CLASS="rdoc"
>wildcard pattern: <TT
>_</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PIrrPat"
><A NAME="v%3APIrrPat"
></A
></A
><B
>PIrrPat</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</TD
><TD CLASS="rdoc"
>irrefutable pattern: <TT
>~<EM
>pat</EM
></TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PatTypeSig"
><A NAME="v%3APatTypeSig"
></A
></A
><B
>PatTypeSig</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
><TD CLASS="rdoc"
>pattern with type signature
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PViewPat"
><A NAME="v%3APViewPat"
></A
></A
><B
>PViewPat</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</TD
><TD CLASS="rdoc"
>view patterns of the form <TT
>(<EM
>exp</EM
> -&gt; <EM
>pat</EM
>)</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PRPat"
><A NAME="v%3APRPat"
></A
></A
><B
>PRPat</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
> l]</TD
><TD CLASS="rdoc"
>regular list pattern
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PXTag"
><A NAME="v%3APXTag"
></A
></A
><B
>PXTag</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXName"
>XName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APXAttr"
>PXAttr</A
> l] (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l]</TD
><TD CLASS="rdoc"
>XML element pattern
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PXETag"
><A NAME="v%3APXETag"
></A
></A
><B
>PXETag</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXName"
>XName</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APXAttr"
>PXAttr</A
> l] (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l))</TD
><TD CLASS="rdoc"
>XML singleton element pattern
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PXPcdata"
><A NAME="v%3APXPcdata"
></A
></A
><B
>PXPcdata</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>XML PCDATA pattern
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PXPatTag"
><A NAME="v%3APXPatTag"
></A
></A
><B
>PXPatTag</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</TD
><TD CLASS="rdoc"
>XML embedded pattern
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PXRPats"
><A NAME="v%3APXRPats"
></A
></A
><B
>PXRPats</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
> l]</TD
><TD CLASS="rdoc"
>XML regular list pattern
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PExplTypeArg"
><A NAME="v%3APExplTypeArg"
></A
></A
><B
>PExplTypeArg</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
><TD CLASS="rdoc"
>Explicit generics style type argument e.g. <TT
>f {| Int |} x = ...</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PQuasiQuote"
><A NAME="v%3APQuasiQuote"
></A
></A
><B
>PQuasiQuote</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>quasi quote pattern: <TT
>[$<EM
>name</EM
>| <EM
>string</EM
> |]</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PBangPat"
><A NAME="v%3APBangPat"
></A
></A
><B
>PBangPat</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</TD
><TD CLASS="rdoc"
>strict (bang) pattern: <TT
>f !x = ...</TT
>
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Pat')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Pat" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Fixity.html#t%3AAppFixity"
>AppFixity</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> loc)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Parser.html#t%3AParseable"
>Parseable</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> loc)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:PatField"
><A NAME="t%3APatField"
></A
></A
><B
>PatField</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#PatField"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>An <EM
>fpat</EM
> in a labeled record pattern.
</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:PFieldPat"
><A NAME="v%3APFieldPat"
></A
></A
><B
>PFieldPat</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</TD
><TD CLASS="rdoc"
>ordinary label-pattern pair
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PFieldPun"
><A NAME="v%3APFieldPun"
></A
></A
><B
>PFieldPun</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
><TD CLASS="rdoc"
>record field pun
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PFieldWildcard"
><A NAME="v%3APFieldWildcard"
></A
></A
><B
>PFieldWildcard</B
> l</TD
><TD CLASS="rdoc"
>record field wildcard
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:PatField')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:PatField" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APatField"
>PatField</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APatField"
>PatField</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APatField"
>PatField</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APatField"
>PatField</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Fixity.html#t%3AAppFixity"
>AppFixity</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APatField"
>PatField</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APatField"
>PatField</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APatField"
>PatField</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APatField"
>PatField</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APatField"
>PatField</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APatField"
>PatField</A
> loc)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:PXAttr"
><A NAME="t%3APXAttr"
></A
></A
><B
>PXAttr</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#PXAttr"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>An XML attribute in a pattern.
</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:PXAttr"
><A NAME="v%3APXAttr"
></A
></A
><B
>PXAttr</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXName"
>XName</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:PXAttr')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:PXAttr" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APXAttr"
>PXAttr</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APXAttr"
>PXAttr</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APXAttr"
>PXAttr</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APXAttr"
>PXAttr</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Fixity.html#t%3AAppFixity"
>AppFixity</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APXAttr"
>PXAttr</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APXAttr"
>PXAttr</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APXAttr"
>PXAttr</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APXAttr"
>PXAttr</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APXAttr"
>PXAttr</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APXAttr"
>PXAttr</A
> loc)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:RPat"
><A NAME="t%3ARPat"
></A
></A
><B
>RPat</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#RPat"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>An entity in a regular pattern.
</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:RPOp"
><A NAME="v%3ARPOp"
></A
></A
><B
>RPOp</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPatOp"
>RPatOp</A
> l)</TD
><TD CLASS="rdoc"
>operator pattern, e.g. pat*
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RPEither"
><A NAME="v%3ARPEither"
></A
></A
><B
>RPEither</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
> l)</TD
><TD CLASS="rdoc"
>choice pattern, e.g. (1 | 2)
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RPSeq"
><A NAME="v%3ARPSeq"
></A
></A
><B
>RPSeq</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
> l]</TD
><TD CLASS="rdoc"
>sequence pattern, e.g. (| 1, 2, 3 |)
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RPGuard"
><A NAME="v%3ARPGuard"
></A
></A
><B
>RPGuard</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l) [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AStmt"
>Stmt</A
> l]</TD
><TD CLASS="rdoc"
>guarded pattern, e.g. (| p | p &lt; 3 |)
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RPCAs"
><A NAME="v%3ARPCAs"
></A
></A
><B
>RPCAs</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
> l)</TD
><TD CLASS="rdoc"
>non-linear variable binding, e.g. (foo@:(1 | 2))*
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RPAs"
><A NAME="v%3ARPAs"
></A
></A
><B
>RPAs</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
> l)</TD
><TD CLASS="rdoc"
>linear variable binding, e.g. foo@(1 | 2)
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RPParen"
><A NAME="v%3ARPParen"
></A
></A
><B
>RPParen</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
> l)</TD
><TD CLASS="rdoc"
>parenthesised pattern, e.g. (2*)
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RPPat"
><A NAME="v%3ARPPat"
></A
></A
><B
>RPPat</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</TD
><TD CLASS="rdoc"
>an ordinary pattern
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:RPat')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:RPat" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Fixity.html#t%3AAppFixity"
>AppFixity</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
> loc)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:RPatOp"
><A NAME="t%3ARPatOp"
></A
></A
><B
>RPatOp</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#RPatOp"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A regular pattern operator.
</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:RPStar"
><A NAME="v%3ARPStar"
></A
></A
><B
>RPStar</B
> l</TD
><TD CLASS="rdoc"
><TT
>*</TT
> = 0 or more
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RPStarG"
><A NAME="v%3ARPStarG"
></A
></A
><B
>RPStarG</B
> l</TD
><TD CLASS="rdoc"
><TT
>*!</TT
> = 0 or more, greedy
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RPPlus"
><A NAME="v%3ARPPlus"
></A
></A
><B
>RPPlus</B
> l</TD
><TD CLASS="rdoc"
><TT
>+</TT
> = 1 or more
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RPPlusG"
><A NAME="v%3ARPPlusG"
></A
></A
><B
>RPPlusG</B
> l</TD
><TD CLASS="rdoc"
><TT
>+!</TT
> = 1 or more, greedy
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RPOpt"
><A NAME="v%3ARPOpt"
></A
></A
><B
>RPOpt</B
> l</TD
><TD CLASS="rdoc"
><TT
>?</TT
> = 0 or 1
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RPOptG"
><A NAME="v%3ARPOptG"
></A
></A
><B
>RPOptG</B
> l</TD
><TD CLASS="rdoc"
><TT
>?!</TT
> = 0 or 1, greedy
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:RPatOp')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:RPatOp" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPatOp"
>RPatOp</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPatOp"
>RPatOp</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPatOp"
>RPatOp</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPatOp"
>RPatOp</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPatOp"
>RPatOp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPatOp"
>RPatOp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPatOp"
>RPatOp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPatOp"
>RPatOp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPatOp"
>RPatOp</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="10"
><A NAME="10"
>Literals
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Literal"
><A NAME="t%3ALiteral"
></A
></A
><B
>Literal</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Literal"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
><EM
>literal</EM
>
 Values of this type hold the abstract value of the literal, along with the
 precise string representation used.  For example, <TT
>10</TT
>, <TT
>0o12</TT
> and <TT
>0xa</TT
>
 have the same value representation, but each carry a different string representation.
</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:Char"
><A NAME="v%3AChar"
></A
></A
><B
>Char</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AChar"
>Char</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>character literal
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:String"
><A NAME="v%3AString"
></A
></A
><B
>String</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>string literal
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Int"
><A NAME="v%3AInt"
></A
></A
><B
>Int</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3AInteger"
>Integer</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>integer literal
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Frac"
><A NAME="v%3AFrac"
></A
></A
><B
>Frac</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3ARational"
>Rational</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>floating point literal
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PrimInt"
><A NAME="v%3APrimInt"
></A
></A
><B
>PrimInt</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3AInteger"
>Integer</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>unboxed integer literal
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PrimWord"
><A NAME="v%3APrimWord"
></A
></A
><B
>PrimWord</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3AInteger"
>Integer</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>unboxed word literal
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PrimFloat"
><A NAME="v%3APrimFloat"
></A
></A
><B
>PrimFloat</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3ARational"
>Rational</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>unboxed float literal
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PrimDouble"
><A NAME="v%3APrimDouble"
></A
></A
><B
>PrimDouble</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3ARational"
>Rational</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>unboxed double literal
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PrimChar"
><A NAME="v%3APrimChar"
></A
></A
><B
>PrimChar</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AChar"
>Char</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>unboxed character literal
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PrimString"
><A NAME="v%3APrimString"
></A
></A
><B
>PrimString</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>unboxed string literal
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Literal')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Literal" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ALiteral"
>Literal</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ALiteral"
>Literal</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ALiteral"
>Literal</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ALiteral"
>Literal</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ALiteral"
>Literal</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ALiteral"
>Literal</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ALiteral"
>Literal</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ALiteral"
>Literal</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ALiteral"
>Literal</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="11"
><A NAME="11"
>Variables, Constructors and Operators
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:ModuleName"
><A NAME="t%3AModuleName"
></A
></A
><B
>ModuleName</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#ModuleName"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>The name of a Haskell module.
</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:ModuleName"
><A NAME="v%3AModuleName"
></A
></A
><B
>ModuleName</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ModuleName')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:ModuleName" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleName"
>ModuleName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleName"
>ModuleName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleName"
>ModuleName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleName"
>ModuleName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleName"
>ModuleName</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:QName"
><A NAME="t%3AQName"
></A
></A
><B
>QName</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#QName"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>This type is used to represent qualified variables, and also
 qualified constructors.
</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:Qual"
><A NAME="v%3AQual"
></A
></A
><B
>Qual</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleName"
>ModuleName</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
><TD CLASS="rdoc"
>name qualified with a module name
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:UnQual"
><A NAME="v%3AUnQual"
></A
></A
><B
>UnQual</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
><TD CLASS="rdoc"
>unqualified local name
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Special"
><A NAME="v%3ASpecial"
></A
></A
><B
>Special</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASpecialCon"
>SpecialCon</A
> l)</TD
><TD CLASS="rdoc"
>built-in constructor with special syntax
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:QName')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:QName" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Name"
><A NAME="t%3AName"
></A
></A
><B
>Name</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Name"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>This type is used to represent variables, and also constructors.
</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:Ident"
><A NAME="v%3AIdent"
></A
></A
><B
>Ident</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
><EM
>varid</EM
> or <EM
>conid</EM
>.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Symbol"
><A NAME="v%3ASymbol"
></A
></A
><B
>Symbol</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
><EM
>varsym</EM
> or <EM
>consym</EM
>
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Name')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Name" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:QOp"
><A NAME="t%3AQOp"
></A
></A
><B
>QOp</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#QOp"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Possibly qualified infix operators (<EM
>qop</EM
>), appearing in expressions.
</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:QVarOp"
><A NAME="v%3AQVarOp"
></A
></A
><B
>QVarOp</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
><TD CLASS="rdoc"
>variable operator (<EM
>qvarop</EM
>)
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:QConOp"
><A NAME="v%3AQConOp"
></A
></A
><B
>QConOp</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l)</TD
><TD CLASS="rdoc"
>constructor operator (<EM
>qconop</EM
>)
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:QOp')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:QOp" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQOp"
>QOp</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQOp"
>QOp</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQOp"
>QOp</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQOp"
>QOp</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQOp"
>QOp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQOp"
>QOp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQOp"
>QOp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQOp"
>QOp</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQOp"
>QOp</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Op"
><A NAME="t%3AOp"
></A
></A
><B
>Op</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Op"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Operators appearing in <TT
>infix</TT
> declarations are never qualified.
</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:VarOp"
><A NAME="v%3AVarOp"
></A
></A
><B
>VarOp</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
><TD CLASS="rdoc"
>variable operator (<EM
>varop</EM
>)
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ConOp"
><A NAME="v%3AConOp"
></A
></A
><B
>ConOp</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
><TD CLASS="rdoc"
>constructor operator (<EM
>conop</EM
>)
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Op')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Op" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AOp"
>Op</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AOp"
>Op</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AOp"
>Op</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AOp"
>Op</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AOp"
>Op</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AOp"
>Op</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AOp"
>Op</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AOp"
>Op</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AOp"
>Op</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:SpecialCon"
><A NAME="t%3ASpecialCon"
></A
></A
><B
>SpecialCon</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#SpecialCon"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Constructors with special syntax.
 These names are never qualified, and always refer to builtin type or
 data constructors.
</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:UnitCon"
><A NAME="v%3AUnitCon"
></A
></A
><B
>UnitCon</B
> l</TD
><TD CLASS="rdoc"
>unit type and data constructor <TT
>()</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ListCon"
><A NAME="v%3AListCon"
></A
></A
><B
>ListCon</B
> l</TD
><TD CLASS="rdoc"
>list type constructor <TT
>[]</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:FunCon"
><A NAME="v%3AFunCon"
></A
></A
><B
>FunCon</B
> l</TD
><TD CLASS="rdoc"
>function type constructor <TT
>-&gt;</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TupleCon"
><A NAME="v%3ATupleCon"
></A
></A
><B
>TupleCon</B
> l <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABoxed"
>Boxed</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
></TD
><TD CLASS="rdoc"
><EM
>n</EM
>-ary tuple type and data
   constructors <TT
>(,)</TT
> etc, possibly boxed <TT
>(#,#)</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Cons"
><A NAME="v%3ACons"
></A
></A
><B
>Cons</B
> l</TD
><TD CLASS="rdoc"
>list data constructor <TT
>(:)</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:UnboxedSingleCon"
><A NAME="v%3AUnboxedSingleCon"
></A
></A
><B
>UnboxedSingleCon</B
> l</TD
><TD CLASS="rdoc"
>unboxed singleton tuple constructor <TT
>(# #)</TT
>
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:SpecialCon')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:SpecialCon" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASpecialCon"
>SpecialCon</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASpecialCon"
>SpecialCon</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASpecialCon"
>SpecialCon</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASpecialCon"
>SpecialCon</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASpecialCon"
>SpecialCon</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASpecialCon"
>SpecialCon</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASpecialCon"
>SpecialCon</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASpecialCon"
>SpecialCon</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:CName"
><A NAME="t%3ACName"
></A
></A
><B
>CName</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#CName"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A name (<EM
>cname</EM
>) of a component of a class or data type in an <TT
>import</TT
>
 or export specification.
</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:VarName"
><A NAME="v%3AVarName"
></A
></A
><B
>VarName</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
><TD CLASS="rdoc"
>name of a method or field
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ConName"
><A NAME="v%3AConName"
></A
></A
><B
>ConName</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
><TD CLASS="rdoc"
>name of a data constructor
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:CName')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:CName" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACName"
>CName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACName"
>CName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACName"
>CName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACName"
>CName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACName"
>CName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACName"
>CName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACName"
>CName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACName"
>CName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACName"
>CName</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:IPName"
><A NAME="t%3AIPName"
></A
></A
><B
>IPName</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#IPName"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>An implicit parameter name.
</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:IPDup"
><A NAME="v%3AIPDup"
></A
></A
><B
>IPDup</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>?<EM
>ident</EM
>, non-linear implicit parameter
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:IPLin"
><A NAME="v%3AIPLin"
></A
></A
><B
>IPLin</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>%<EM
>ident</EM
>, linear implicit parameter
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:IPName')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:IPName" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPName"
>IPName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPName"
>IPName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPName"
>IPName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPName"
>IPName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPName"
>IPName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPName"
>IPName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPName"
>IPName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPName"
>IPName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPName"
>IPName</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:XName"
><A NAME="t%3AXName"
></A
></A
><B
>XName</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#XName"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>The name of an xml element or attribute,
   possibly qualified with a namespace.
</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:XName"
><A NAME="v%3AXName"
></A
></A
><B
>XName</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:XDomName"
><A NAME="v%3AXDomName"
></A
></A
><B
>XDomName</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:XName')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:XName" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXName"
>XName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXName"
>XName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXName"
>XName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXName"
>XName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXName"
>XName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXName"
>XName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXName"
>XName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXName"
>XName</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXName"
>XName</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="12"
><A NAME="12"
>Template Haskell
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Bracket"
><A NAME="t%3ABracket"
></A
></A
><B
>Bracket</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Bracket"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A template haskell bracket expression.
</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:ExpBracket"
><A NAME="v%3AExpBracket"
></A
></A
><B
>ExpBracket</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>expression bracket: <TT
>[| ... |]</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PatBracket"
><A NAME="v%3APatBracket"
></A
></A
><B
>PatBracket</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
> l)</TD
><TD CLASS="rdoc"
>pattern bracket: <TT
>[p| ... |]</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TypeBracket"
><A NAME="v%3ATypeBracket"
></A
></A
><B
>TypeBracket</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
><TD CLASS="rdoc"
>type bracket: <TT
>[t| ... |]</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:DeclBracket"
><A NAME="v%3ADeclBracket"
></A
></A
><B
>DeclBracket</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADecl"
>Decl</A
> l]</TD
><TD CLASS="rdoc"
>declaration bracket: <TT
>[d| ... |]</TT
>
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Bracket')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Bracket" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABracket"
>Bracket</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABracket"
>Bracket</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABracket"
>Bracket</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABracket"
>Bracket</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Fixity.html#t%3AAppFixity"
>AppFixity</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABracket"
>Bracket</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABracket"
>Bracket</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABracket"
>Bracket</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABracket"
>Bracket</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABracket"
>Bracket</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABracket"
>Bracket</A
> loc)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Splice"
><A NAME="t%3ASplice"
></A
></A
><B
>Splice</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Splice"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A template haskell splice expression
</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:IdSplice"
><A NAME="v%3AIdSplice"
></A
></A
><B
>IdSplice</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>variable splice: <TT
>$var</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ParenSplice"
><A NAME="v%3AParenSplice"
></A
></A
><B
>ParenSplice</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>parenthesised expression splice: <TT
>$(<EM
>exp</EM
>)</TT
>
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Splice')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Splice" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASplice"
>Splice</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASplice"
>Splice</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASplice"
>Splice</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASplice"
>Splice</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Fixity.html#t%3AAppFixity"
>AppFixity</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASplice"
>Splice</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASplice"
>Splice</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASplice"
>Splice</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASplice"
>Splice</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASplice"
>Splice</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASplice"
>Splice</A
> loc)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="13"
><A NAME="13"
>FFI
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Safety"
><A NAME="t%3ASafety"
></A
></A
><B
>Safety</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Safety"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>The safety of a foreign function call.
</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:PlayRisky"
><A NAME="v%3APlayRisky"
></A
></A
><B
>PlayRisky</B
> l</TD
><TD CLASS="rdoc"
>unsafe
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:PlaySafe"
><A NAME="v%3APlaySafe"
></A
></A
><B
>PlaySafe</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="rdoc"
>safe (<TT
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#v%3AFalse"
>False</A
></TT
>) or threadsafe (<TT
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#v%3ATrue"
>True</A
></TT
>)
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Safety')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Safety" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASafety"
>Safety</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASafety"
>Safety</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASafety"
>Safety</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASafety"
>Safety</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASafety"
>Safety</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASafety"
>Safety</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASafety"
>Safety</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASafety"
>Safety</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASafety"
>Safety</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:CallConv"
><A NAME="t%3ACallConv"
></A
></A
><B
>CallConv</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#CallConv"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>The calling convention of a foreign function call.
</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:StdCall"
><A NAME="v%3AStdCall"
></A
></A
><B
>StdCall</B
> l</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:CCall"
><A NAME="v%3ACCall"
></A
></A
><B
>CCall</B
> l</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:CallConv')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:CallConv" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACallConv"
>CallConv</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACallConv"
>CallConv</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACallConv"
>CallConv</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACallConv"
>CallConv</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACallConv"
>CallConv</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACallConv"
>CallConv</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACallConv"
>CallConv</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACallConv"
>CallConv</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACallConv"
>CallConv</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="14"
><A NAME="14"
>Pragmas
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:ModulePragma"
><A NAME="t%3AModulePragma"
></A
></A
><B
>ModulePragma</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#ModulePragma"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A top level options pragma, preceding the module header.
</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:LanguagePragma"
><A NAME="v%3ALanguagePragma"
></A
></A
><B
>LanguagePragma</B
> l [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l]</TD
><TD CLASS="rdoc"
>LANGUAGE pragma
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:OptionsPragma"
><A NAME="v%3AOptionsPragma"
></A
></A
><B
>OptionsPragma</B
> l (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATool"
>Tool</A
>) <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>OPTIONS pragma, possibly qualified with a tool, e.g. OPTIONS_GHC
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:AnnModulePragma"
><A NAME="v%3AAnnModulePragma"
></A
></A
><B
>AnnModulePragma</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotation"
>Annotation</A
> l)</TD
><TD CLASS="rdoc"
>ANN pragma with module scope
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ModulePragma')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:ModulePragma" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModulePragma"
>ModulePragma</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModulePragma"
>ModulePragma</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModulePragma"
>ModulePragma</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModulePragma"
>ModulePragma</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModulePragma"
>ModulePragma</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModulePragma"
>ModulePragma</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModulePragma"
>ModulePragma</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModulePragma"
>ModulePragma</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModulePragma"
>ModulePragma</A
> loc)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Tool"
><A NAME="t%3ATool"
></A
></A
><B
>Tool</B
>  </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Tool"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Recognised tools for OPTIONS pragmas.
</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:GHC"
><A NAME="v%3AGHC"
></A
></A
><B
>GHC</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:HUGS"
><A NAME="v%3AHUGS"
></A
></A
><B
>HUGS</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:NHC98"
><A NAME="v%3ANHC98"
></A
></A
><B
>NHC98</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:YHC"
><A NAME="v%3AYHC"
></A
></A
><B
>YHC</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:HADDOCK"
><A NAME="v%3AHADDOCK"
></A
></A
><B
>HADDOCK</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:UnknownTool"
><A NAME="v%3AUnknownTool"
></A
></A
><B
>UnknownTool</B
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Tool')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Tool" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATool"
>Tool</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATool"
>Tool</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATool"
>Tool</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATool"
>Tool</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable"
>Typeable</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATool"
>Tool</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATool"
>Tool</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Rule"
><A NAME="t%3ARule"
></A
></A
><B
>Rule</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Rule"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>The body of a RULES pragma.
</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:Rule"
><A NAME="v%3ARule"
></A
></A
><B
>Rule</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AActivation"
>Activation</A
> l)) (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> [<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARuleVar"
>RuleVar</A
> l]) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Rule')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Rule" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARule"
>Rule</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARule"
>Rule</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARule"
>Rule</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARule"
>Rule</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARule"
>Rule</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARule"
>Rule</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARule"
>Rule</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARule"
>Rule</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARule"
>Rule</A
> loc)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:RuleVar"
><A NAME="t%3ARuleVar"
></A
></A
><B
>RuleVar</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#RuleVar"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Variables used in a RULES pragma, optionally annotated with types
</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:RuleVar"
><A NAME="v%3ARuleVar"
></A
></A
><B
>RuleVar</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TypedRuleVar"
><A NAME="v%3ATypedRuleVar"
></A
></A
><B
>TypedRuleVar</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l)</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:RuleVar')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:RuleVar" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARuleVar"
>RuleVar</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARuleVar"
>RuleVar</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARuleVar"
>RuleVar</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARuleVar"
>RuleVar</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARuleVar"
>RuleVar</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARuleVar"
>RuleVar</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARuleVar"
>RuleVar</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARuleVar"
>RuleVar</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARuleVar"
>RuleVar</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Activation"
><A NAME="t%3AActivation"
></A
></A
><B
>Activation</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Activation"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Activation clause of a RULES pragma.
</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:ActiveFrom"
><A NAME="v%3AActiveFrom"
></A
></A
><B
>ActiveFrom</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ActiveUntil"
><A NAME="v%3AActiveUntil"
></A
></A
><B
>ActiveUntil</B
> l <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Activation')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Activation" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AActivation"
>Activation</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AActivation"
>Activation</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AActivation"
>Activation</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AActivation"
>Activation</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AActivation"
>Activation</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AActivation"
>Activation</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AActivation"
>Activation</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AActivation"
>Activation</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AActivation"
>Activation</A
> l)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Annotation"
><A NAME="t%3AAnnotation"
></A
></A
><B
>Annotation</B
> l </TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Annotation"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>An annotation through an ANN pragma.
</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:Ann"
><A NAME="v%3AAnn"
></A
></A
><B
>Ann</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>An annotation for a declared name.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TypeAnn"
><A NAME="v%3ATypeAnn"
></A
></A
><B
>TypeAnn</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l) (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>An annotation for a declared type.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ModuleAnn"
><A NAME="v%3AModuleAnn"
></A
></A
><B
>ModuleAnn</B
> l (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l)</TD
><TD CLASS="rdoc"
>An annotation for the defining module.
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Annotation')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Annotation" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotation"
>Annotation</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1"
>Typeable1</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotation"
>Annotation</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotation"
>Annotation</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-ExactPrint.html#t%3AExactP"
>ExactP</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotation"
>Annotation</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Fixity.html#t%3AAppFixity"
>AppFixity</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotation"
>Annotation</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotation"
>Annotation</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3AData"
>Data</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotation"
>Annotation</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotation"
>Annotation</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> l =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotation"
>Annotation</A
> l)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcInfo"
>SrcInfo</A
> loc =&gt; <A HREF="Language-Haskell-Exts-Pretty.html#t%3APretty"
>Pretty</A
> (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotation"
>Annotation</A
> loc)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="15"
><A NAME="15"
>Builtin names
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="16"
><A NAME="16"
>Modules
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:prelude_mod"
><A NAME="v%3Aprelude_mod"
></A
></A
><B
>prelude_mod</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleName"
>ModuleName</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#prelude_mod"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:main_mod"
><A NAME="v%3Amain_mod"
></A
></A
><B
>main_mod</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleName"
>ModuleName</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#main_mod"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="17"
><A NAME="17"
>Main function of a program
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:main_name"
><A NAME="v%3Amain_name"
></A
></A
><B
>main_name</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#main_name"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="18"
><A NAME="18"
>Constructors
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:unit_con_name"
><A NAME="v%3Aunit_con_name"
></A
></A
><B
>unit_con_name</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#unit_con_name"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:tuple_con_name"
><A NAME="v%3Atuple_con_name"
></A
></A
><B
>tuple_con_name</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABoxed"
>Boxed</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#tuple_con_name"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:list_cons_name"
><A NAME="v%3Alist_cons_name"
></A
></A
><B
>list_cons_name</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#list_cons_name"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:unboxed_singleton_con_name"
><A NAME="v%3Aunboxed_singleton_con_name"
></A
></A
><B
>unboxed_singleton_con_name</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#unboxed_singleton_con_name"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:unit_con"
><A NAME="v%3Aunit_con"
></A
></A
><B
>unit_con</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#unit_con"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:tuple_con"
><A NAME="v%3Atuple_con"
></A
></A
><B
>tuple_con</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABoxed"
>Boxed</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#tuple_con"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:unboxed_singleton_con"
><A NAME="v%3Aunboxed_singleton_con"
></A
></A
><B
>unboxed_singleton_con</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#unboxed_singleton_con"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="19"
><A NAME="19"
>Special identifiers
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:as_name"
><A NAME="v%3Aas_name"
></A
></A
><B
>as_name</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#as_name"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:qualified_name"
><A NAME="v%3Aqualified_name"
></A
></A
><B
>qualified_name</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#qualified_name"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:hiding_name"
><A NAME="v%3Ahiding_name"
></A
></A
><B
>hiding_name</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#hiding_name"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:minus_name"
><A NAME="v%3Aminus_name"
></A
></A
><B
>minus_name</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#minus_name"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:bang_name"
><A NAME="v%3Abang_name"
></A
></A
><B
>bang_name</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#bang_name"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:dot_name"
><A NAME="v%3Adot_name"
></A
></A
><B
>dot_name</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#dot_name"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:star_name"
><A NAME="v%3Astar_name"
></A
></A
><B
>star_name</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#star_name"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:export_name"
><A NAME="v%3Aexport_name"
></A
></A
><B
>export_name</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#export_name"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:safe_name"
><A NAME="v%3Asafe_name"
></A
></A
><B
>safe_name</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#safe_name"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:unsafe_name"
><A NAME="v%3Aunsafe_name"
></A
></A
><B
>unsafe_name</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#unsafe_name"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:threadsafe_name"
><A NAME="v%3Athreadsafe_name"
></A
></A
><B
>threadsafe_name</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#threadsafe_name"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:stdcall_name"
><A NAME="v%3Astdcall_name"
></A
></A
><B
>stdcall_name</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#stdcall_name"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:ccall_name"
><A NAME="v%3Accall_name"
></A
></A
><B
>ccall_name</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#ccall_name"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="20"
><A NAME="20"
>Type constructors
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:unit_tycon_name"
><A NAME="v%3Aunit_tycon_name"
></A
></A
><B
>unit_tycon_name</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#unit_tycon_name"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:fun_tycon_name"
><A NAME="v%3Afun_tycon_name"
></A
></A
><B
>fun_tycon_name</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#fun_tycon_name"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:list_tycon_name"
><A NAME="v%3Alist_tycon_name"
></A
></A
><B
>list_tycon_name</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#list_tycon_name"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:tuple_tycon_name"
><A NAME="v%3Atuple_tycon_name"
></A
></A
><B
>tuple_tycon_name</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABoxed"
>Boxed</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#tuple_tycon_name"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:unboxed_singleton_tycon_name"
><A NAME="v%3Aunboxed_singleton_tycon_name"
></A
></A
><B
>unboxed_singleton_tycon_name</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#unboxed_singleton_tycon_name"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:unit_tycon"
><A NAME="v%3Aunit_tycon"
></A
></A
><B
>unit_tycon</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#unit_tycon"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:fun_tycon"
><A NAME="v%3Afun_tycon"
></A
></A
><B
>fun_tycon</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#fun_tycon"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:list_tycon"
><A NAME="v%3Alist_tycon"
></A
></A
><B
>list_tycon</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#list_tycon"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:tuple_tycon"
><A NAME="v%3Atuple_tycon"
></A
></A
><B
>tuple_tycon</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABoxed"
>Boxed</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#tuple_tycon"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:unboxed_singleton_tycon"
><A NAME="v%3Aunboxed_singleton_tycon"
></A
></A
><B
>unboxed_singleton_tycon</B
> ::  l -&gt; <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#unboxed_singleton_tycon"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="21"
><A NAME="21"
>Source coordinates
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="22"
><A NAME="22"
>Annotated trees
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>class</SPAN
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor"
>Functor</A
> ast =&gt; <A NAME="t:Annotated"
><A NAME="t%3AAnnotated"
></A
></A
><B
>Annotated</B
> ast  <SPAN CLASS="keyword"
>where</SPAN
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#Annotated"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>AST nodes are annotated, and this class allows manipulation of the annotations.
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
>Methods</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:ann"
><A NAME="v%3Aann"
></A
></A
><B
>ann</B
> ::  ast l -&gt; l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#ann"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Retrieve the annotation of an AST node.
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:amap"
><A NAME="v%3Aamap"
></A
></A
><B
>amap</B
> ::  (l -&gt; l) -&gt; ast l -&gt; ast l</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#amap"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Change the annotation of an AST node. Note that only the annotation of
   the node itself is affected, and not the annotations of any child nodes.
   if all nodes in the AST tree are to be affected, use <TT
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#v%3Afmap"
>fmap</A
></TT
>.
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Annotated')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Annotated" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedAlt"
>GuardedAlt</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedAlts"
>GuardedAlts</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAlt"
>Alt</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldUpdate"
>FieldUpdate</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualStmt"
>QualStmt</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AStmt"
>Stmt</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APatField"
>PatField</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPat"
>RPat</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARPatOp"
>RPatOp</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APXAttr"
>PXAttr</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3APat"
>Pat</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AWarningText"
>WarningText</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARuleVar"
>RuleVar</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARule"
>Rule</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AActivation"
>Activation</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModulePragma"
>ModulePragma</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACallConv"
>CallConv</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASafety"
>Safety</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASplice"
>Splice</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABracket"
>Bracket</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXAttr"
>XAttr</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AXName"
>XName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExp"
>Exp</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ALiteral"
>Literal</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAsst"
>Asst</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AContext"
>Context</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFunDep"
>FunDep</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AKind"
>Kind</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ATyVarBind"
>TyVarBind</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AType"
>Type</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGuardedRhs"
>GuardedRhs</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ARhs"
>Rhs</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABangType"
>BangType</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstDecl"
>InstDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AClassDecl"
>ClassDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AGadtDecl"
>GadtDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AFieldDecl"
>FieldDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AConDecl"
>ConDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQualConDecl"
>QualConDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AMatch"
>Match</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPBind"
>IPBind</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ABinds"
>Binds</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeriving"
>Deriving</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AInstHead"
>InstHead</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADeclHead"
>DeclHead</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADataOrNew"
>DataOrNew</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotation"
>Annotation</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ADecl"
>Decl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAssoc"
>Assoc</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportSpec"
>ImportSpec</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportSpecList"
>ImportSpecList</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AImportDecl"
>ImportDecl</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExportSpec"
>ExportSpec</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AExportSpecList"
>ExportSpecList</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleHead"
>ModuleHead</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModule"
>Module</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ACName"
>CName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AOp"
>Op</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQOp"
>QOp</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AIPName"
>IPName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AName"
>Name</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AQName"
>QName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3ASpecialCon"
>SpecialCon</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> <A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> PAsst</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> PType</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> PContext</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> ParseXAttr</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> PFieldUpdate</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> PExp</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:=~="
><A NAME="v%3A%3D~%3D"
></A
></A
><B
>(=~=)</B
> :: (<A HREF="Language-Haskell-Exts-Annotated-Syntax.html#t%3AAnnotated"
>Annotated</A
> a, <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> (a <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
>)) =&gt; a l1 -&gt; a l2 -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Annotated-Syntax.html#%3D~%3D"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Test if two AST elements are equal modulo annotations.
</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
>