Sophie

Sophie

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

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.Build</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-Build.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-Build.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.Build</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"
>experimental</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"
>Syntax building functions
</A
></DT
><DT
><A HREF="#2"
>More advanced building
</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"
>This module contains combinators to use when building
 Haskell source trees programmatically, as opposed to
 parsing them from a string. The contents here are quite
 experimental and will likely receive a lot of attention
 when the rest has stabilised.
</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"
><A HREF="#v%3Aname"
>name</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Asym"
>sym</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Avar"
>var</A
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aop"
>op</A
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AQOp"
>QOp</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aqvar"
>qvar</A
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3AModuleName"
>ModuleName</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Apvar"
>pvar</A
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aapp"
>app</A
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AinfixApp"
>infixApp</A
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AQOp"
>QOp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AappFun"
>appFun</A
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; [<A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApApp"
>pApp</A
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
> -&gt; [<A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Atuple"
>tuple</A
> :: [<A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApTuple"
>pTuple</A
> :: [<A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvarTuple"
>varTuple</A
> :: [<A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApvarTuple"
>pvarTuple</A
> :: [<A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Afunction"
>function</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AstrE"
>strE</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcharE"
>charE</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AChar"
>Char</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AintE"
>intE</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3AInteger"
>Integer</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AstrP"
>strP</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcharP"
>charP</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AChar"
>Char</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AintP"
>intP</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3AInteger"
>Integer</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdoE"
>doE</A
> :: [<A HREF="Language-Haskell-Exts-Syntax.html#t%3AStmt"
>Stmt</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AlamE"
>lamE</A
> :: <A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; [<A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AletE"
>letE</A
> :: [<A HREF="Language-Haskell-Exts-Syntax.html#t%3ADecl"
>Decl</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcaseE"
>caseE</A
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; [<A HREF="Language-Haskell-Exts-Syntax.html#t%3AAlt"
>Alt</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aalt"
>alt</A
> :: <A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AAlt"
>Alt</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AaltGW"
>altGW</A
> :: <A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
> -&gt; [<A HREF="Language-Haskell-Exts-Syntax.html#t%3AStmt"
>Stmt</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3ABinds"
>Binds</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AAlt"
>Alt</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AlistE"
>listE</A
> :: [<A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AeList"
>eList</A
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApeList"
>peList</A
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aparen"
>paren</A
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApParen"
>pParen</A
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AqualStmt"
>qualStmt</A
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AStmt"
>Stmt</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgenStmt"
>genStmt</A
> :: <A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AStmt"
>Stmt</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AletStmt"
>letStmt</A
> :: [<A HREF="Language-Haskell-Exts-Syntax.html#t%3ADecl"
>Decl</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AStmt"
>Stmt</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Abinds"
>binds</A
> :: [<A HREF="Language-Haskell-Exts-Syntax.html#t%3ADecl"
>Decl</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3ABinds"
>Binds</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnoBinds"
>noBinds</A
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3ABinds"
>Binds</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Awildcard"
>wildcard</A
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgenNames"
>genNames</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</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-Syntax.html#t%3AName"
>Name</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Asfun"
>sfun</A
> :: <A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
> -&gt; [<A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3ARhs"
>Rhs</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3ABinds"
>Binds</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3ADecl"
>Decl</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsimpleFun"
>simpleFun</A
> :: <A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3ADecl"
>Decl</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApatBind"
>patBind</A
> :: <A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3ADecl"
>Decl</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApatBindWhere"
>patBindWhere</A
> :: <A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; [<A HREF="Language-Haskell-Exts-Syntax.html#t%3ADecl"
>Decl</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3ADecl"
>Decl</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnameBind"
>nameBind</A
> :: <A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3ADecl"
>Decl</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmetaFunction"
>metaFunction</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; [<A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmetaConPat"
>metaConPat</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; [<A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</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"
>Syntax building functions
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:name"
><A NAME="v%3Aname"
></A
></A
><B
>name</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#name"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>An identifier with the given string as its name.
   The string should be a valid Haskell identifier.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:sym"
><A NAME="v%3Asym"
></A
></A
><B
>sym</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#sym"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A symbol identifier. The string should be a valid
   Haskell symbol identifier.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:var"
><A NAME="v%3Avar"
></A
></A
><B
>var</B
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#var"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A local variable as expression.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:op"
><A NAME="v%3Aop"
></A
></A
><B
>op</B
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AQOp"
>QOp</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#op"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Use the given identifier as an operator.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:qvar"
><A NAME="v%3Aqvar"
></A
></A
><B
>qvar</B
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3AModuleName"
>ModuleName</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#qvar"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A qualified variable as expression.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:pvar"
><A NAME="v%3Apvar"
></A
></A
><B
>pvar</B
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#pvar"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A pattern variable.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:app"
><A NAME="v%3Aapp"
></A
></A
><B
>app</B
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#app"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Application of expressions by juxtaposition.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:infixApp"
><A NAME="v%3AinfixApp"
></A
></A
><B
>infixApp</B
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AQOp"
>QOp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#infixApp"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Apply an operator infix.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:appFun"
><A NAME="v%3AappFun"
></A
></A
><B
>appFun</B
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; [<A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#appFun"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Apply a function to a list of arguments.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:pApp"
><A NAME="v%3ApApp"
></A
></A
><B
>pApp</B
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
> -&gt; [<A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#pApp"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A constructor pattern, with argument patterns.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:tuple"
><A NAME="v%3Atuple"
></A
></A
><B
>tuple</B
> :: [<A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#tuple"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A tuple expression.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:pTuple"
><A NAME="v%3ApTuple"
></A
></A
><B
>pTuple</B
> :: [<A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#pTuple"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A tuple pattern.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:varTuple"
><A NAME="v%3AvarTuple"
></A
></A
><B
>varTuple</B
> :: [<A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#varTuple"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A tuple expression consisting of variables only.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:pvarTuple"
><A NAME="v%3ApvarTuple"
></A
></A
><B
>pvarTuple</B
> :: [<A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#pvarTuple"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A tuple pattern consisting of variables only.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:function"
><A NAME="v%3Afunction"
></A
></A
><B
>function</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#function"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A function with a given name.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:strE"
><A NAME="v%3AstrE"
></A
></A
><B
>strE</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#strE"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A literal string expression.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:charE"
><A NAME="v%3AcharE"
></A
></A
><B
>charE</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AChar"
>Char</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#charE"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A literal character expression.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:intE"
><A NAME="v%3AintE"
></A
></A
><B
>intE</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3AInteger"
>Integer</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#intE"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A literal integer expression.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:strP"
><A NAME="v%3AstrP"
></A
></A
><B
>strP</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#strP"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A literal string pattern.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:charP"
><A NAME="v%3AcharP"
></A
></A
><B
>charP</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AChar"
>Char</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#charP"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A literal character pattern.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:intP"
><A NAME="v%3AintP"
></A
></A
><B
>intP</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3AInteger"
>Integer</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#intP"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A literal integer pattern.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:doE"
><A NAME="v%3AdoE"
></A
></A
><B
>doE</B
> :: [<A HREF="Language-Haskell-Exts-Syntax.html#t%3AStmt"
>Stmt</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#doE"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A do block formed by the given statements.
   The last statement in the list should be
   a <TT
><A HREF="Language-Haskell-Exts-Syntax.html#v%3AQualifier"
>Qualifier</A
></TT
> expression.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:lamE"
><A NAME="v%3AlamE"
></A
></A
><B
>lamE</B
> :: <A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; [<A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#lamE"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Lambda abstraction, given a list of argument
   patterns and an expression body.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:letE"
><A NAME="v%3AletE"
></A
></A
><B
>letE</B
> :: [<A HREF="Language-Haskell-Exts-Syntax.html#t%3ADecl"
>Decl</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#letE"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A <TT
>let</TT
> ... <TT
>in</TT
> block.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:caseE"
><A NAME="v%3AcaseE"
></A
></A
><B
>caseE</B
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; [<A HREF="Language-Haskell-Exts-Syntax.html#t%3AAlt"
>Alt</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#caseE"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A <TT
>case</TT
> expression.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:alt"
><A NAME="v%3Aalt"
></A
></A
><B
>alt</B
> :: <A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AAlt"
>Alt</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#alt"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>An unguarded alternative in a <TT
>case</TT
> expression.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:altGW"
><A NAME="v%3AaltGW"
></A
></A
><B
>altGW</B
> :: <A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
> -&gt; [<A HREF="Language-Haskell-Exts-Syntax.html#t%3AStmt"
>Stmt</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3ABinds"
>Binds</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AAlt"
>Alt</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#altGW"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>An alternative with a single guard in a <TT
>case</TT
> expression.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:listE"
><A NAME="v%3AlistE"
></A
></A
><B
>listE</B
> :: [<A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#listE"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A list expression.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:eList"
><A NAME="v%3AeList"
></A
></A
><B
>eList</B
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#eList"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>The empty list expression.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:peList"
><A NAME="v%3ApeList"
></A
></A
><B
>peList</B
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#peList"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>The empty list pattern.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:paren"
><A NAME="v%3Aparen"
></A
></A
><B
>paren</B
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#paren"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Put parentheses around an expression.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:pParen"
><A NAME="v%3ApParen"
></A
></A
><B
>pParen</B
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#pParen"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Put parentheses around a pattern.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:qualStmt"
><A NAME="v%3AqualStmt"
></A
></A
><B
>qualStmt</B
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AStmt"
>Stmt</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#qualStmt"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A qualifier expression statement.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:genStmt"
><A NAME="v%3AgenStmt"
></A
></A
><B
>genStmt</B
> :: <A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AStmt"
>Stmt</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#genStmt"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A generator statement: <EM
>pat</EM
> <TT
>&lt;-</TT
> <EM
>exp</EM
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:letStmt"
><A NAME="v%3AletStmt"
></A
></A
><B
>letStmt</B
> :: [<A HREF="Language-Haskell-Exts-Syntax.html#t%3ADecl"
>Decl</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AStmt"
>Stmt</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#letStmt"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A <TT
>let</TT
> binding group as a statement.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:binds"
><A NAME="v%3Abinds"
></A
></A
><B
>binds</B
> :: [<A HREF="Language-Haskell-Exts-Syntax.html#t%3ADecl"
>Decl</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3ABinds"
>Binds</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#binds"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Hoist a set of declarations to a binding group.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:noBinds"
><A NAME="v%3AnoBinds"
></A
></A
><B
>noBinds</B
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3ABinds"
>Binds</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#noBinds"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>An empty binding group.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:wildcard"
><A NAME="v%3Awildcard"
></A
></A
><B
>wildcard</B
> :: <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#wildcard"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>The wildcard pattern: <TT
>_</TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:genNames"
><A NAME="v%3AgenNames"
></A
></A
><B
>genNames</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</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-Syntax.html#t%3AName"
>Name</A
>]</TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#genNames"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Generate k names by appending numbers 1 through k to a given string.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="2"
><A NAME="2"
>More advanced building
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:sfun"
><A NAME="v%3Asfun"
></A
></A
><B
>sfun</B
> :: <A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
> -&gt; [<A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3ARhs"
>Rhs</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3ABinds"
>Binds</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3ADecl"
>Decl</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#sfun"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A function with a single clause
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:simpleFun"
><A NAME="v%3AsimpleFun"
></A
></A
><B
>simpleFun</B
> :: <A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3ADecl"
>Decl</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#simpleFun"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A function with a single clause, a single argument, no guards
 and no where declarations
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:patBind"
><A NAME="v%3ApatBind"
></A
></A
><B
>patBind</B
> :: <A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3ADecl"
>Decl</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#patBind"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A pattern bind where the pattern is a variable, and where
 there are no guards and no 'where' clause.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:patBindWhere"
><A NAME="v%3ApatBindWhere"
></A
></A
><B
>patBindWhere</B
> :: <A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; [<A HREF="Language-Haskell-Exts-Syntax.html#t%3ADecl"
>Decl</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3ADecl"
>Decl</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#patBindWhere"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A pattern bind where the pattern is a variable, and where
 there are no guards, but with a 'where' clause.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:nameBind"
><A NAME="v%3AnameBind"
></A
></A
><B
>nameBind</B
> :: <A HREF="Language-Haskell-Exts-SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AName"
>Name</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
> -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3ADecl"
>Decl</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#nameBind"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Bind an identifier to an expression.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:metaFunction"
><A NAME="v%3AmetaFunction"
></A
></A
><B
>metaFunction</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; [<A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3AExp"
>Exp</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#metaFunction"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Apply function of a given name to a list of arguments.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:metaConPat"
><A NAME="v%3AmetaConPat"
></A
></A
><B
>metaConPat</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; [<A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
>] -&gt; <A HREF="Language-Haskell-Exts-Syntax.html#t%3APat"
>Pat</A
></TD
><TD CLASS="declbut"
><A HREF="src/Language-Haskell-Exts-Build.html#metaConPat"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Apply a constructor of a given name to a list of pattern
   arguments, forming a constructor pattern.
</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
>