Sophie

Sophie

distrib > Mageia > 3 > x86_64 > by-pkgid > d5d42515f78bdb3a5381de09f2cf4125 > files > 892

ghc-doc-7.4.2-2.mga3.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HsExpr</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_HsExpr.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ghc-7.4.2: The GHC API</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr></table><p class="caption">HsExpr</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Expressions proper
</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Abstract Haskell syntax for expressions.
</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">type</span> <a href="#t:LHsExpr">LHsExpr</a> id = <a href="SrcLoc.html#t:Located">Located</a> (<a href="HsExpr.html#t:HsExpr">HsExpr</a> id)</li><li class="src short"><span class="keyword">type</span> <a href="#t:PostTcExpr">PostTcExpr</a> = <a href="HsExpr.html#t:HsExpr">HsExpr</a> <a href="Var.html#t:Id">Id</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:PostTcTable">PostTcTable</a> = [(<a href="Name.html#t:Name">Name</a>, <a href="HsExpr.html#t:PostTcExpr">PostTcExpr</a>)]</li><li class="src short"><a href="#v:noPostTcExpr">noPostTcExpr</a> :: <a href="HsExpr.html#t:PostTcExpr">PostTcExpr</a></li><li class="src short"><a href="#v:noPostTcTable">noPostTcTable</a> :: <a href="HsExpr.html#t:PostTcTable">PostTcTable</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:SyntaxExpr">SyntaxExpr</a> id = <a href="HsExpr.html#t:HsExpr">HsExpr</a> id</li><li class="src short"><a href="#v:noSyntaxExpr">noSyntaxExpr</a> ::  <a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> id</li><li class="src short"><span class="keyword">type</span> <a href="#t:SyntaxTable">SyntaxTable</a> id = [(<a href="Name.html#t:Name">Name</a>, <a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> id)]</li><li class="src short"><a href="#v:noSyntaxTable">noSyntaxTable</a> ::  <a href="HsExpr.html#t:SyntaxTable">SyntaxTable</a> id</li><li class="src short"><span class="keyword">data</span>  <a href="#t:HsExpr">HsExpr</a> id<ul class="subs"><li>= <a href="#v:HsVar">HsVar</a> id  </li><li>| <a href="#v:HsIPVar">HsIPVar</a> (<a href="BasicTypes.html#t:IPName">IPName</a> id)  </li><li>| <a href="#v:HsOverLit">HsOverLit</a> (<a href="HsLit.html#t:HsOverLit">HsOverLit</a> id)  </li><li>| <a href="#v:HsLit">HsLit</a> <a href="HsLit.html#t:HsLit">HsLit</a>  </li><li>| <a href="#v:HsLam">HsLam</a> (<a href="HsExpr.html#t:MatchGroup">MatchGroup</a> id)  </li><li>| <a href="#v:HsApp">HsApp</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)  </li><li>| <a href="#v:OpApp">OpApp</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) <a href="BasicTypes.html#t:Fixity">Fixity</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)  </li><li>| <a href="#v:NegApp">NegApp</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> id)  </li><li>| <a href="#v:HsPar">HsPar</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)  </li><li>| <a href="#v:SectionL">SectionL</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)  </li><li>| <a href="#v:SectionR">SectionR</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)  </li><li>| <a href="#v:ExplicitTuple">ExplicitTuple</a> [<a href="HsExpr.html#t:HsTupArg">HsTupArg</a> id] <a href="BasicTypes.html#t:Boxity">Boxity</a>  </li><li>| <a href="#v:HsCase">HsCase</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:MatchGroup">MatchGroup</a> id)  </li><li>| <a href="#v:HsIf">HsIf</a> (<a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> id)) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)  </li><li>| <a href="#v:HsLet">HsLet</a> (<a href="HsBinds.html#t:HsLocalBinds">HsLocalBinds</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)  </li><li>| <a href="#v:HsDo">HsDo</a> (<a href="HsExpr.html#t:HsStmtContext">HsStmtContext</a> <a href="Name.html#t:Name">Name</a>) [<a href="HsExpr.html#t:LStmt">LStmt</a> id] <a href="HsLit.html#t:PostTcType">PostTcType</a>  </li><li>| <a href="#v:ExplicitList">ExplicitList</a> <a href="HsLit.html#t:PostTcType">PostTcType</a> [<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id]  </li><li>| <a href="#v:ExplicitPArr">ExplicitPArr</a> <a href="HsLit.html#t:PostTcType">PostTcType</a> [<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id]  </li><li>| <a href="#v:RecordCon">RecordCon</a> (<a href="SrcLoc.html#t:Located">Located</a> id) <a href="HsExpr.html#t:PostTcExpr">PostTcExpr</a> (<a href="HsExpr.html#t:HsRecordBinds">HsRecordBinds</a> id)  </li><li>| <a href="#v:RecordUpd">RecordUpd</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:HsRecordBinds">HsRecordBinds</a> id) [<a href="DataCon.html#t:DataCon">DataCon</a>] [<a href="HsLit.html#t:PostTcType">PostTcType</a>] [<a href="HsLit.html#t:PostTcType">PostTcType</a>]  </li><li>| <a href="#v:ExprWithTySig">ExprWithTySig</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsTypes.html#t:LHsType">LHsType</a> id)  </li><li>| <a href="#v:ExprWithTySigOut">ExprWithTySigOut</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsTypes.html#t:LHsType">LHsType</a> <a href="Name.html#t:Name">Name</a>)  </li><li>| <a href="#v:ArithSeq">ArithSeq</a> <a href="HsExpr.html#t:PostTcExpr">PostTcExpr</a> (<a href="HsExpr.html#t:ArithSeqInfo">ArithSeqInfo</a> id)  </li><li>| <a href="#v:PArrSeq">PArrSeq</a> <a href="HsExpr.html#t:PostTcExpr">PostTcExpr</a> (<a href="HsExpr.html#t:ArithSeqInfo">ArithSeqInfo</a> id)  </li><li>| <a href="#v:HsSCC">HsSCC</a> <a href="FastString.html#t:FastString">FastString</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)  </li><li>| <a href="#v:HsCoreAnn">HsCoreAnn</a> <a href="FastString.html#t:FastString">FastString</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)  </li><li>| <a href="#v:HsBracket">HsBracket</a> (<a href="HsExpr.html#t:HsBracket">HsBracket</a> id)  </li><li>| <a href="#v:HsBracketOut">HsBracketOut</a> (<a href="HsExpr.html#t:HsBracket">HsBracket</a> <a href="Name.html#t:Name">Name</a>) [<a href="HsExpr.html#t:PendingSplice">PendingSplice</a>]  </li><li>| <a href="#v:HsSpliceE">HsSpliceE</a> (<a href="HsExpr.html#t:HsSplice">HsSplice</a> id)  </li><li>| <a href="#v:HsQuasiQuoteE">HsQuasiQuoteE</a> (<a href="HsTypes.html#t:HsQuasiQuote">HsQuasiQuote</a> id)  </li><li>| <a href="#v:HsProc">HsProc</a> (<a href="HsPat.html#t:LPat">LPat</a> id) (<a href="HsExpr.html#t:LHsCmdTop">LHsCmdTop</a> id)  </li><li>| <a href="#v:HsArrApp">HsArrApp</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) <a href="HsLit.html#t:PostTcType">PostTcType</a> <a href="HsExpr.html#t:HsArrAppType">HsArrAppType</a> <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>  </li><li>| <a href="#v:HsArrForm">HsArrForm</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="BasicTypes.html#t:Fixity">Fixity</a>) [<a href="HsExpr.html#t:LHsCmdTop">LHsCmdTop</a> id]  </li><li>| <a href="#v:HsTick">HsTick</a> (<a href="CoreSyn.html#t:Tickish">Tickish</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)  </li><li>| <a href="#v:HsBinTick">HsBinTick</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)  </li><li>| <a href="#v:HsTickPragma">HsTickPragma</a> (<a href="FastString.html#t:FastString">FastString</a>, (<a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a>, <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a>), (<a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a>, <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a>)) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)  </li><li>| <a href="#v:EWildPat">EWildPat</a>  </li><li>| <a href="#v:EAsPat">EAsPat</a> (<a href="SrcLoc.html#t:Located">Located</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)  </li><li>| <a href="#v:EViewPat">EViewPat</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)  </li><li>| <a href="#v:ELazyPat">ELazyPat</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)  </li><li>| <a href="#v:HsType">HsType</a> (<a href="HsTypes.html#t:LHsType">LHsType</a> id)  </li><li>| <a href="#v:HsWrap">HsWrap</a> <a href="TcEvidence.html#t:HsWrapper">HsWrapper</a> (<a href="HsExpr.html#t:HsExpr">HsExpr</a> id)  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:HsTupArg">HsTupArg</a> id<ul class="subs"><li>= <a href="#v:Present">Present</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)  </li><li>| <a href="#v:Missing">Missing</a> <a href="HsLit.html#t:PostTcType">PostTcType</a>  </li></ul></li><li class="src short"><a href="#v:tupArgPresent">tupArgPresent</a> ::  <a href="HsExpr.html#t:HsTupArg">HsTupArg</a> id -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:PendingSplice">PendingSplice</a> = (<a href="Name.html#t:Name">Name</a>, <a href="HsExpr.html#t:LHsExpr">LHsExpr</a> <a href="Var.html#t:Id">Id</a>)</li><li class="src short"><a href="#v:pprLExpr">pprLExpr</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:pprExpr">pprExpr</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="HsExpr.html#t:HsExpr">HsExpr</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:isQuietHsExpr">isQuietHsExpr</a> ::  <a href="HsExpr.html#t:HsExpr">HsExpr</a> id -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:pprBinds">pprBinds</a> :: (<a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idL, <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idR) =&gt; <a href="HsBinds.html#t:HsLocalBindsLR">HsLocalBindsLR</a> idL idR -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:ppr_lexpr">ppr_lexpr</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:ppr_expr">ppr_expr</a> :: <span class="keyword">forall</span> id. <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="HsExpr.html#t:HsExpr">HsExpr</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:pprCmdArg">pprCmdArg</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="HsExpr.html#t:HsCmdTop">HsCmdTop</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:pa_brackets">pa_brackets</a> :: <a href="Outputable.html#t:SDoc">SDoc</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:pprDebugParendExpr">pprDebugParendExpr</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:pprParendExpr">pprParendExpr</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:hsExprNeedsParens">hsExprNeedsParens</a> ::  <a href="HsExpr.html#t:HsExpr">HsExpr</a> id -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isAtomicHsExpr">isAtomicHsExpr</a> ::  <a href="HsExpr.html#t:HsExpr">HsExpr</a> id -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:HsCmd">HsCmd</a> id = <a href="HsExpr.html#t:HsExpr">HsExpr</a> id</li><li class="src short"><span class="keyword">type</span> <a href="#t:LHsCmd">LHsCmd</a> id = <a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id</li><li class="src short"><span class="keyword">data</span>  <a href="#t:HsArrAppType">HsArrAppType</a> <ul class="subs"><li>= <a href="#v:HsHigherOrderApp">HsHigherOrderApp</a>  </li><li>| <a href="#v:HsFirstOrderApp">HsFirstOrderApp</a>  </li></ul></li><li class="src short"><span class="keyword">type</span> <a href="#t:LHsCmdTop">LHsCmdTop</a> id = <a href="SrcLoc.html#t:Located">Located</a> (<a href="HsExpr.html#t:HsCmdTop">HsCmdTop</a> id)</li><li class="src short"><span class="keyword">data</span>  <a href="#t:HsCmdTop">HsCmdTop</a> id = <a href="#v:HsCmdTop">HsCmdTop</a> (<a href="HsExpr.html#t:LHsCmd">LHsCmd</a> id) [<a href="HsLit.html#t:PostTcType">PostTcType</a>] <a href="HsLit.html#t:PostTcType">PostTcType</a> (<a href="HsExpr.html#t:SyntaxTable">SyntaxTable</a> id)</li><li class="src short"><span class="keyword">type</span> <a href="#t:HsRecordBinds">HsRecordBinds</a> id = <a href="HsPat.html#t:HsRecFields">HsRecFields</a> id (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</li><li class="src short"><span class="keyword">data</span>  <a href="#t:MatchGroup">MatchGroup</a> id = <a href="#v:MatchGroup">MatchGroup</a> [<a href="HsExpr.html#t:LMatch">LMatch</a> id] <a href="HsLit.html#t:PostTcType">PostTcType</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:LMatch">LMatch</a> id = <a href="SrcLoc.html#t:Located">Located</a> (<a href="HsExpr.html#t:Match">Match</a> id)</li><li class="src short"><span class="keyword">data</span>  <a href="#t:Match">Match</a> id = <a href="#v:Match">Match</a> [<a href="HsPat.html#t:LPat">LPat</a> id] (<a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="HsTypes.html#t:LHsType">LHsType</a> id)) (<a href="HsExpr.html#t:GRHSs">GRHSs</a> id)</li><li class="src short"><a href="#v:isEmptyMatchGroup">isEmptyMatchGroup</a> ::  <a href="HsExpr.html#t:MatchGroup">MatchGroup</a> id -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:matchGroupArity">matchGroupArity</a> ::  <a href="HsExpr.html#t:MatchGroup">MatchGroup</a> id -&gt; <a href="BasicTypes.html#t:Arity">Arity</a></li><li class="src short"><a href="#v:hsLMatchPats">hsLMatchPats</a> ::  <a href="HsExpr.html#t:LMatch">LMatch</a> id -&gt; [<a href="HsPat.html#t:LPat">LPat</a> id]</li><li class="src short"><span class="keyword">data</span>  <a href="#t:GRHSs">GRHSs</a> id = <a href="#v:GRHSs">GRHSs</a> {<ul class="subs"><li><a href="#v:grhssGRHSs">grhssGRHSs</a> :: [<a href="HsExpr.html#t:LGRHS">LGRHS</a> id]</li><li><a href="#v:grhssLocalBinds">grhssLocalBinds</a> :: <a href="HsBinds.html#t:HsLocalBinds">HsLocalBinds</a> id</li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:LGRHS">LGRHS</a> id = <a href="SrcLoc.html#t:Located">Located</a> (<a href="HsExpr.html#t:GRHS">GRHS</a> id)</li><li class="src short"><span class="keyword">data</span>  <a href="#t:GRHS">GRHS</a> id = <a href="#v:GRHS">GRHS</a> [<a href="HsExpr.html#t:LStmt">LStmt</a> id] (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</li><li class="src short"><a href="#v:pprMatches">pprMatches</a> :: (<a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idL, <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idR) =&gt; <a href="HsExpr.html#t:HsMatchContext">HsMatchContext</a> idL -&gt; <a href="HsExpr.html#t:MatchGroup">MatchGroup</a> idR -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:pprFunBind">pprFunBind</a> :: (<a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idL, <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idR) =&gt; idL -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="HsExpr.html#t:MatchGroup">MatchGroup</a> idR -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:pprPatBind">pprPatBind</a> :: <span class="keyword">forall</span> bndr id. (<a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> bndr, <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id) =&gt; <a href="HsPat.html#t:LPat">LPat</a> bndr -&gt; <a href="HsExpr.html#t:GRHSs">GRHSs</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:pprMatch">pprMatch</a> :: (<a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idL, <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idR) =&gt; <a href="HsExpr.html#t:HsMatchContext">HsMatchContext</a> idL -&gt; <a href="HsExpr.html#t:Match">Match</a> idR -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:pprGRHSs">pprGRHSs</a> :: (<a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idL, <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idR) =&gt; <a href="HsExpr.html#t:HsMatchContext">HsMatchContext</a> idL -&gt; <a href="HsExpr.html#t:GRHSs">GRHSs</a> idR -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:pprGRHS">pprGRHS</a> :: (<a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idL, <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idR) =&gt; <a href="HsExpr.html#t:HsMatchContext">HsMatchContext</a> idL -&gt; <a href="HsExpr.html#t:GRHS">GRHS</a> idR -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:pp_rhs">pp_rhs</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idR =&gt; <a href="HsExpr.html#t:HsMatchContext">HsMatchContext</a> idL -&gt; <a href="HsExpr.html#t:LHsExpr">LHsExpr</a> idR -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:LStmt">LStmt</a> id = <a href="SrcLoc.html#t:Located">Located</a> (<a href="HsExpr.html#t:StmtLR">StmtLR</a> id id)</li><li class="src short"><span class="keyword">type</span> <a href="#t:LStmtLR">LStmtLR</a> idL idR = <a href="SrcLoc.html#t:Located">Located</a> (<a href="HsExpr.html#t:StmtLR">StmtLR</a> idL idR)</li><li class="src short"><span class="keyword">type</span> <a href="#t:Stmt">Stmt</a> id = <a href="HsExpr.html#t:StmtLR">StmtLR</a> id id</li><li class="src short"><span class="keyword">data</span>  <a href="#t:StmtLR">StmtLR</a> idL idR<ul class="subs"><li>= <a href="#v:LastStmt">LastStmt</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> idR) (<a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR)  </li><li>| <a href="#v:BindStmt">BindStmt</a> (<a href="HsPat.html#t:LPat">LPat</a> idL) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> idR) (<a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR) (<a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR)  </li><li>| <a href="#v:ExprStmt">ExprStmt</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> idR) (<a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR) (<a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR) <a href="HsLit.html#t:PostTcType">PostTcType</a>  </li><li>| <a href="#v:LetStmt">LetStmt</a> (<a href="HsBinds.html#t:HsLocalBindsLR">HsLocalBindsLR</a> idL idR)  </li><li>| <a href="#v:ParStmt">ParStmt</a> [([<a href="HsExpr.html#t:LStmt">LStmt</a> idL], [idR])] (<a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR) (<a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR) (<a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR)  </li><li>| <a href="#v:TransStmt">TransStmt</a> { <ul class="subs"><li><a href="#v:trS_form">trS_form</a> :: <a href="HsExpr.html#t:TransForm">TransForm</a></li><li><a href="#v:trS_stmts">trS_stmts</a> :: [<a href="HsExpr.html#t:LStmt">LStmt</a> idL]</li><li><a href="#v:trS_bndrs">trS_bndrs</a> :: [(idR, idR)]</li><li><a href="#v:trS_using">trS_using</a> :: <a href="HsExpr.html#t:LHsExpr">LHsExpr</a> idR</li><li><a href="#v:trS_by">trS_by</a> :: <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> idR)</li><li><a href="#v:trS_ret">trS_ret</a> :: <a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR</li><li><a href="#v:trS_bind">trS_bind</a> :: <a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR</li><li><a href="#v:trS_fmap">trS_fmap</a> :: <a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR</li></ul> }</li><li>| <a href="#v:RecStmt">RecStmt</a> { <ul class="subs"><li><a href="#v:recS_stmts">recS_stmts</a> :: [<a href="HsExpr.html#t:LStmtLR">LStmtLR</a> idL idR]</li><li><a href="#v:recS_later_ids">recS_later_ids</a> :: [idR]</li><li><a href="#v:recS_rec_ids">recS_rec_ids</a> :: [idR]</li><li><a href="#v:recS_bind_fn">recS_bind_fn</a> :: <a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR</li><li><a href="#v:recS_ret_fn">recS_ret_fn</a> :: <a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR</li><li><a href="#v:recS_mfix_fn">recS_mfix_fn</a> :: <a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR</li><li><a href="#v:recS_later_rets">recS_later_rets</a> :: [<a href="HsExpr.html#t:PostTcExpr">PostTcExpr</a>]</li><li><a href="#v:recS_rec_rets">recS_rec_rets</a> :: [<a href="HsExpr.html#t:PostTcExpr">PostTcExpr</a>]</li><li><a href="#v:recS_ret_ty">recS_ret_ty</a> :: <a href="HsLit.html#t:PostTcType">PostTcType</a></li></ul> }</li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:TransForm">TransForm</a> <ul class="subs"><li>= <a href="#v:ThenForm">ThenForm</a>  </li><li>| <a href="#v:GroupForm">GroupForm</a>  </li></ul></li><li class="src short"><a href="#v:pprStmt">pprStmt</a> :: (<a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idL, <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idR) =&gt; <a href="HsExpr.html#t:StmtLR">StmtLR</a> idL idR -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:pprTransformStmt">pprTransformStmt</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; [id] -&gt; <a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:pprTransStmt">pprTransStmt</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) -&gt; <a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id -&gt; <a href="HsExpr.html#t:TransForm">TransForm</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:pprBy">pprBy</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:pprDo">pprDo</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="HsExpr.html#t:HsStmtContext">HsStmtContext</a> any -&gt; [<a href="HsExpr.html#t:LStmt">LStmt</a> id] -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:ppr_do_stmts">ppr_do_stmts</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; [<a href="HsExpr.html#t:LStmt">LStmt</a> id] -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:ppr_lc_stmts">ppr_lc_stmts</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; [<a href="HsExpr.html#t:LStmt">LStmt</a> id] -&gt; [<a href="Outputable.html#t:SDoc">SDoc</a>]</li><li class="src short"><a href="#v:pprComp">pprComp</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; [<a href="HsExpr.html#t:LStmt">LStmt</a> id] -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:HsSplice">HsSplice</a> id = <a href="#v:HsSplice">HsSplice</a> id (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</li><li class="src short"><a href="#v:pprSplice">pprSplice</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="HsExpr.html#t:HsSplice">HsSplice</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:HsBracket">HsBracket</a> id<ul class="subs"><li>= <a href="#v:ExpBr">ExpBr</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)  </li><li>| <a href="#v:PatBr">PatBr</a> (<a href="HsPat.html#t:LPat">LPat</a> id)  </li><li>| <a href="#v:DecBrL">DecBrL</a> [<a href="HsDecls.html#t:LHsDecl">LHsDecl</a> id]  </li><li>| <a href="#v:DecBrG">DecBrG</a> (<a href="HsDecls.html#t:HsGroup">HsGroup</a> id)  </li><li>| <a href="#v:TypBr">TypBr</a> (<a href="HsTypes.html#t:LHsType">LHsType</a> id)  </li><li>| <a href="#v:VarBr">VarBr</a> <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> id  </li></ul></li><li class="src short"><a href="#v:pprHsBracket">pprHsBracket</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="HsExpr.html#t:HsBracket">HsBracket</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:thBrackets">thBrackets</a> :: <a href="Outputable.html#t:SDoc">SDoc</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:ArithSeqInfo">ArithSeqInfo</a> id<ul class="subs"><li>= <a href="#v:From">From</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)  </li><li>| <a href="#v:FromThen">FromThen</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)  </li><li>| <a href="#v:FromTo">FromTo</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)  </li><li>| <a href="#v:FromThenTo">FromThenTo</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)  </li></ul></li><li class="src short"><a href="#v:pp_dotdot">pp_dotdot</a> :: <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:HsMatchContext">HsMatchContext</a> id<ul class="subs"><li>= <a href="#v:FunRhs">FunRhs</a> id <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>  </li><li>| <a href="#v:LambdaExpr">LambdaExpr</a>  </li><li>| <a href="#v:CaseAlt">CaseAlt</a>  </li><li>| <a href="#v:ProcExpr">ProcExpr</a>  </li><li>| <a href="#v:PatBindRhs">PatBindRhs</a>  </li><li>| <a href="#v:RecUpd">RecUpd</a>  </li><li>| <a href="#v:StmtCtxt">StmtCtxt</a> (<a href="HsExpr.html#t:HsStmtContext">HsStmtContext</a> id)  </li><li>| <a href="#v:ThPatQuote">ThPatQuote</a>  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:HsStmtContext">HsStmtContext</a> id<ul class="subs"><li>= <a href="#v:ListComp">ListComp</a>  </li><li>| <a href="#v:MonadComp">MonadComp</a>  </li><li>| <a href="#v:PArrComp">PArrComp</a>  </li><li>| <a href="#v:DoExpr">DoExpr</a>  </li><li>| <a href="#v:MDoExpr">MDoExpr</a>  </li><li>| <a href="#v:ArrowExpr">ArrowExpr</a>  </li><li>| <a href="#v:GhciStmt">GhciStmt</a>  </li><li>| <a href="#v:PatGuard">PatGuard</a> (<a href="HsExpr.html#t:HsMatchContext">HsMatchContext</a> id)  </li><li>| <a href="#v:ParStmtCtxt">ParStmtCtxt</a> (<a href="HsExpr.html#t:HsStmtContext">HsStmtContext</a> id)  </li><li>| <a href="#v:TransStmtCtxt">TransStmtCtxt</a> (<a href="HsExpr.html#t:HsStmtContext">HsStmtContext</a> id)  </li></ul></li><li class="src short"><a href="#v:isListCompExpr">isListCompExpr</a> ::  <a href="HsExpr.html#t:HsStmtContext">HsStmtContext</a> id -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isMonadCompExpr">isMonadCompExpr</a> ::  <a href="HsExpr.html#t:HsStmtContext">HsStmtContext</a> id -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:matchSeparator">matchSeparator</a> ::  <a href="HsExpr.html#t:HsMatchContext">HsMatchContext</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:pprMatchContext">pprMatchContext</a> :: <a href="Outputable.html#t:Outputable">Outputable</a> id =&gt; <a href="HsExpr.html#t:HsMatchContext">HsMatchContext</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:pprMatchContextNoun">pprMatchContextNoun</a> :: <a href="Outputable.html#t:Outputable">Outputable</a> id =&gt; <a href="HsExpr.html#t:HsMatchContext">HsMatchContext</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:pprAStmtContext">pprAStmtContext</a> :: <a href="Outputable.html#t:Outputable">Outputable</a> id =&gt; <a href="HsExpr.html#t:HsStmtContext">HsStmtContext</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:pprStmtContext">pprStmtContext</a> :: <a href="Outputable.html#t:Outputable">Outputable</a> id =&gt; <a href="HsExpr.html#t:HsStmtContext">HsStmtContext</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:matchContextErrString">matchContextErrString</a> :: <a href="Outputable.html#t:Outputable">Outputable</a> id =&gt; <a href="HsExpr.html#t:HsMatchContext">HsMatchContext</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:pprMatchInCtxt">pprMatchInCtxt</a> :: (<a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idL, <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idR) =&gt; <a href="HsExpr.html#t:HsMatchContext">HsMatchContext</a> idL -&gt; <a href="HsExpr.html#t:Match">Match</a> idR -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:pprStmtInCtxt">pprStmtInCtxt</a> :: (<a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idL, <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idR) =&gt; <a href="HsExpr.html#t:HsStmtContext">HsStmtContext</a> idL -&gt; <a href="HsExpr.html#t:StmtLR">StmtLR</a> idL idR -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li></ul></div><div id="interface"><h1 id="g:1">Expressions proper
</h1><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:LHsExpr" class="def">LHsExpr</a> id = <a href="SrcLoc.html#t:Located">Located</a> (<a href="HsExpr.html#t:HsExpr">HsExpr</a> id)</p></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:PostTcExpr" class="def">PostTcExpr</a> = <a href="HsExpr.html#t:HsExpr">HsExpr</a> <a href="Var.html#t:Id">Id</a></p><div class="doc"><p>PostTcExpr is an evidence expression attached to the syntax tree by the
 type checker (c.f. postTcType).
</p></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:PostTcTable" class="def">PostTcTable</a> = [(<a href="Name.html#t:Name">Name</a>, <a href="HsExpr.html#t:PostTcExpr">PostTcExpr</a>)]</p><div class="doc"><p>We use a PostTcTable where there are a bunch of pieces of evidence, more
 than is convenient to keep individually.
</p></div></div><div class="top"><p class="src"><a name="v:noPostTcExpr" class="def">noPostTcExpr</a> :: <a href="HsExpr.html#t:PostTcExpr">PostTcExpr</a></p></div><div class="top"><p class="src"><a name="v:noPostTcTable" class="def">noPostTcTable</a> :: <a href="HsExpr.html#t:PostTcTable">PostTcTable</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:SyntaxExpr" class="def">SyntaxExpr</a> id = <a href="HsExpr.html#t:HsExpr">HsExpr</a> id</p><div class="doc"><p>SyntaxExpr is like <code><a href="HsExpr.html#t:PostTcExpr">PostTcExpr</a></code>, but it's filled in a little earlier,
 by the renamer.  It's used for rebindable syntax.
</p><p>E.g. <code>(&gt;&gt;=)</code> is filled in before the renamer by the appropriate <code><a href="Name.html#t:Name">Name</a></code> for
      <code>(&gt;&gt;=)</code>, and then instantiated by the type checker with its type args
      etc
</p></div></div><div class="top"><p class="src"><a name="v:noSyntaxExpr" class="def">noSyntaxExpr</a> ::  <a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> id</p></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:SyntaxTable" class="def">SyntaxTable</a> id = [(<a href="Name.html#t:Name">Name</a>, <a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> id)]</p><div class="doc"><p>Currently used only for <code>CmdTop</code> (sigh)
</p><ul><li> Before the renamer, this list is <code><a href="HsExpr.html#v:noSyntaxTable">noSyntaxTable</a></code>
</li><li> After the renamer, it takes the form <code>[(std_name, HsVar actual_name)]</code>
   For example, for the <code><a href="../base-4.5.1.0/Control-Monad.html#v:return">return</a></code> op of a monad
</li><li> normal case:            <code>(GHC.Base.return, HsVar GHC.Base.return)</code>
</li><li> with rebindable syntax: <code>(GHC.Base.return, return_22)</code>
              where <code>return_22</code> is whatever <code>return</code> is in scope
</li><li> After the type checker, it takes the form <code>[(std_name, <a href="expression">expression</a>)]</code>
      where <code><a href="expression">expression</a></code> is the evidence for the method
</li></ul></div></div><div class="top"><p class="src"><a name="v:noSyntaxTable" class="def">noSyntaxTable</a> ::  <a href="HsExpr.html#t:SyntaxTable">SyntaxTable</a> id</p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:HsExpr" class="def">HsExpr</a> id </p><div class="doc"><p>A Haskell expression.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:HsVar" class="def">HsVar</a> id</td><td class="doc"><p>variable
</p></td></tr><tr><td class="src"><a name="v:HsIPVar" class="def">HsIPVar</a> (<a href="BasicTypes.html#t:IPName">IPName</a> id)</td><td class="doc"><p>implicit parameter
</p></td></tr><tr><td class="src"><a name="v:HsOverLit" class="def">HsOverLit</a> (<a href="HsLit.html#t:HsOverLit">HsOverLit</a> id)</td><td class="doc"><p>Overloaded literals
</p></td></tr><tr><td class="src"><a name="v:HsLit" class="def">HsLit</a> <a href="HsLit.html#t:HsLit">HsLit</a></td><td class="doc"><p>Simple (non-overloaded) literals
</p></td></tr><tr><td class="src"><a name="v:HsLam" class="def">HsLam</a> (<a href="HsExpr.html#t:MatchGroup">MatchGroup</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:HsApp" class="def">HsApp</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:OpApp" class="def">OpApp</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) <a href="BasicTypes.html#t:Fixity">Fixity</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NegApp" class="def">NegApp</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:HsPar" class="def">HsPar</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:SectionL" class="def">SectionL</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:SectionR" class="def">SectionR</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ExplicitTuple" class="def">ExplicitTuple</a> [<a href="HsExpr.html#t:HsTupArg">HsTupArg</a> id] <a href="BasicTypes.html#t:Boxity">Boxity</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:HsCase" class="def">HsCase</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:MatchGroup">MatchGroup</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:HsIf" class="def">HsIf</a> (<a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> id)) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:HsLet" class="def">HsLet</a> (<a href="HsBinds.html#t:HsLocalBinds">HsLocalBinds</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:HsDo" class="def">HsDo</a> (<a href="HsExpr.html#t:HsStmtContext">HsStmtContext</a> <a href="Name.html#t:Name">Name</a>) [<a href="HsExpr.html#t:LStmt">LStmt</a> id] <a href="HsLit.html#t:PostTcType">PostTcType</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ExplicitList" class="def">ExplicitList</a> <a href="HsLit.html#t:PostTcType">PostTcType</a> [<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ExplicitPArr" class="def">ExplicitPArr</a> <a href="HsLit.html#t:PostTcType">PostTcType</a> [<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:RecordCon" class="def">RecordCon</a> (<a href="SrcLoc.html#t:Located">Located</a> id) <a href="HsExpr.html#t:PostTcExpr">PostTcExpr</a> (<a href="HsExpr.html#t:HsRecordBinds">HsRecordBinds</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:RecordUpd" class="def">RecordUpd</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:HsRecordBinds">HsRecordBinds</a> id) [<a href="DataCon.html#t:DataCon">DataCon</a>] [<a href="HsLit.html#t:PostTcType">PostTcType</a>] [<a href="HsLit.html#t:PostTcType">PostTcType</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ExprWithTySig" class="def">ExprWithTySig</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsTypes.html#t:LHsType">LHsType</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ExprWithTySigOut" class="def">ExprWithTySigOut</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsTypes.html#t:LHsType">LHsType</a> <a href="Name.html#t:Name">Name</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ArithSeq" class="def">ArithSeq</a> <a href="HsExpr.html#t:PostTcExpr">PostTcExpr</a> (<a href="HsExpr.html#t:ArithSeqInfo">ArithSeqInfo</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:PArrSeq" class="def">PArrSeq</a> <a href="HsExpr.html#t:PostTcExpr">PostTcExpr</a> (<a href="HsExpr.html#t:ArithSeqInfo">ArithSeqInfo</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:HsSCC" class="def">HsSCC</a> <a href="FastString.html#t:FastString">FastString</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:HsCoreAnn" class="def">HsCoreAnn</a> <a href="FastString.html#t:FastString">FastString</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:HsBracket" class="def">HsBracket</a> (<a href="HsExpr.html#t:HsBracket">HsBracket</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:HsBracketOut" class="def">HsBracketOut</a> (<a href="HsExpr.html#t:HsBracket">HsBracket</a> <a href="Name.html#t:Name">Name</a>) [<a href="HsExpr.html#t:PendingSplice">PendingSplice</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:HsSpliceE" class="def">HsSpliceE</a> (<a href="HsExpr.html#t:HsSplice">HsSplice</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:HsQuasiQuoteE" class="def">HsQuasiQuoteE</a> (<a href="HsTypes.html#t:HsQuasiQuote">HsQuasiQuote</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:HsProc" class="def">HsProc</a> (<a href="HsPat.html#t:LPat">LPat</a> id) (<a href="HsExpr.html#t:LHsCmdTop">LHsCmdTop</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:HsArrApp" class="def">HsArrApp</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) <a href="HsLit.html#t:PostTcType">PostTcType</a> <a href="HsExpr.html#t:HsArrAppType">HsArrAppType</a> <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:HsArrForm" class="def">HsArrForm</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="BasicTypes.html#t:Fixity">Fixity</a>) [<a href="HsExpr.html#t:LHsCmdTop">LHsCmdTop</a> id]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:HsTick" class="def">HsTick</a> (<a href="CoreSyn.html#t:Tickish">Tickish</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:HsBinTick" class="def">HsBinTick</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:HsTickPragma" class="def">HsTickPragma</a> (<a href="FastString.html#t:FastString">FastString</a>, (<a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a>, <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a>), (<a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a>, <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a>)) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:EWildPat" class="def">EWildPat</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:EAsPat" class="def">EAsPat</a> (<a href="SrcLoc.html#t:Located">Located</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:EViewPat" class="def">EViewPat</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ELazyPat" class="def">ELazyPat</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:HsType" class="def">HsType</a> (<a href="HsTypes.html#t:LHsType">LHsType</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:HsWrap" class="def">HsWrap</a> <a href="TcEvidence.html#t:HsWrapper">HsWrapper</a> (<a href="HsExpr.html#t:HsExpr">HsExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:HsExpr" class="caption collapser" onclick="toggleSection('i:HsExpr')">Instances</p><div id="section.i:HsExpr" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="HsExpr.html#t:HsExpr">HsExpr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> id =&gt; <a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> (<a href="HsExpr.html#t:HsExpr">HsExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="Outputable.html#t:Outputable">Outputable</a> (<a href="HsExpr.html#t:HsExpr">HsExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:HsTupArg" class="def">HsTupArg</a> id </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Present" class="def">Present</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Missing" class="def">Missing</a> <a href="HsLit.html#t:PostTcType">PostTcType</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:HsTupArg" class="caption collapser" onclick="toggleSection('i:HsTupArg')">Instances</p><div id="section.i:HsTupArg" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="HsExpr.html#t:HsTupArg">HsTupArg</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> id =&gt; <a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> (<a href="HsExpr.html#t:HsTupArg">HsTupArg</a> id)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:tupArgPresent" class="def">tupArgPresent</a> ::  <a href="HsExpr.html#t:HsTupArg">HsTupArg</a> id -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:PendingSplice" class="def">PendingSplice</a> = (<a href="Name.html#t:Name">Name</a>, <a href="HsExpr.html#t:LHsExpr">LHsExpr</a> <a href="Var.html#t:Id">Id</a>)</p></div><div class="top"><p class="src"><a name="v:pprLExpr" class="def">pprLExpr</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:pprExpr" class="def">pprExpr</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="HsExpr.html#t:HsExpr">HsExpr</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:isQuietHsExpr" class="def">isQuietHsExpr</a> ::  <a href="HsExpr.html#t:HsExpr">HsExpr</a> id -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:pprBinds" class="def">pprBinds</a> :: (<a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idL, <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idR) =&gt; <a href="HsBinds.html#t:HsLocalBindsLR">HsLocalBindsLR</a> idL idR -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:ppr_lexpr" class="def">ppr_lexpr</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:ppr_expr" class="def">ppr_expr</a> :: <span class="keyword">forall</span> id. <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="HsExpr.html#t:HsExpr">HsExpr</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:pprCmdArg" class="def">pprCmdArg</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="HsExpr.html#t:HsCmdTop">HsCmdTop</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:pa_brackets" class="def">pa_brackets</a> :: <a href="Outputable.html#t:SDoc">SDoc</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:pprDebugParendExpr" class="def">pprDebugParendExpr</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:pprParendExpr" class="def">pprParendExpr</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:hsExprNeedsParens" class="def">hsExprNeedsParens</a> ::  <a href="HsExpr.html#t:HsExpr">HsExpr</a> id -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:isAtomicHsExpr" class="def">isAtomicHsExpr</a> ::  <a href="HsExpr.html#t:HsExpr">HsExpr</a> id -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:HsCmd" class="def">HsCmd</a> id = <a href="HsExpr.html#t:HsExpr">HsExpr</a> id</p></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:LHsCmd" class="def">LHsCmd</a> id = <a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id</p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:HsArrAppType" class="def">HsArrAppType</a>  </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:HsHigherOrderApp" class="def">HsHigherOrderApp</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:HsFirstOrderApp" class="def">HsFirstOrderApp</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:HsArrAppType" class="caption collapser" onclick="toggleSection('i:HsArrAppType')">Instances</p><div id="section.i:HsArrAppType" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> <a href="HsExpr.html#t:HsArrAppType">HsArrAppType</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="HsExpr.html#t:HsArrAppType">HsArrAppType</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:LHsCmdTop" class="def">LHsCmdTop</a> id = <a href="SrcLoc.html#t:Located">Located</a> (<a href="HsExpr.html#t:HsCmdTop">HsCmdTop</a> id)</p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:HsCmdTop" class="def">HsCmdTop</a> id </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:HsCmdTop" class="def">HsCmdTop</a> (<a href="HsExpr.html#t:LHsCmd">LHsCmd</a> id) [<a href="HsLit.html#t:PostTcType">PostTcType</a>] <a href="HsLit.html#t:PostTcType">PostTcType</a> (<a href="HsExpr.html#t:SyntaxTable">SyntaxTable</a> id)</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:HsCmdTop" class="caption collapser" onclick="toggleSection('i:HsCmdTop')">Instances</p><div id="section.i:HsCmdTop" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="HsExpr.html#t:HsCmdTop">HsCmdTop</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> id =&gt; <a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> (<a href="HsExpr.html#t:HsCmdTop">HsCmdTop</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="Outputable.html#t:Outputable">Outputable</a> (<a href="HsExpr.html#t:HsCmdTop">HsCmdTop</a> id)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:HsRecordBinds" class="def">HsRecordBinds</a> id = <a href="HsPat.html#t:HsRecFields">HsRecFields</a> id (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:MatchGroup" class="def">MatchGroup</a> id </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:MatchGroup" class="def">MatchGroup</a> [<a href="HsExpr.html#t:LMatch">LMatch</a> id] <a href="HsLit.html#t:PostTcType">PostTcType</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:MatchGroup" class="caption collapser" onclick="toggleSection('i:MatchGroup')">Instances</p><div id="section.i:MatchGroup" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="HsExpr.html#t:MatchGroup">MatchGroup</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> id =&gt; <a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> (<a href="HsExpr.html#t:MatchGroup">MatchGroup</a> id)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:LMatch" class="def">LMatch</a> id = <a href="SrcLoc.html#t:Located">Located</a> (<a href="HsExpr.html#t:Match">Match</a> id)</p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Match" class="def">Match</a> id </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Match" class="def">Match</a> [<a href="HsPat.html#t:LPat">LPat</a> id] (<a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="HsTypes.html#t:LHsType">LHsType</a> id)) (<a href="HsExpr.html#t:GRHSs">GRHSs</a> id)</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Match" class="caption collapser" onclick="toggleSection('i:Match')">Instances</p><div id="section.i:Match" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="HsExpr.html#t:Match">Match</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> id =&gt; <a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> (<a href="HsExpr.html#t:Match">Match</a> id)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:isEmptyMatchGroup" class="def">isEmptyMatchGroup</a> ::  <a href="HsExpr.html#t:MatchGroup">MatchGroup</a> id -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:matchGroupArity" class="def">matchGroupArity</a> ::  <a href="HsExpr.html#t:MatchGroup">MatchGroup</a> id -&gt; <a href="BasicTypes.html#t:Arity">Arity</a></p></div><div class="top"><p class="src"><a name="v:hsLMatchPats" class="def">hsLMatchPats</a> ::  <a href="HsExpr.html#t:LMatch">LMatch</a> id -&gt; [<a href="HsPat.html#t:LPat">LPat</a> id]</p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:GRHSs" class="def">GRHSs</a> id </p><div class="doc"><p>GRHSs are used both for pattern bindings and for Matches
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:GRHSs" class="def">GRHSs</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:grhssGRHSs" class="def">grhssGRHSs</a> :: [<a href="HsExpr.html#t:LGRHS">LGRHS</a> id]</dt><dd class="doc"><p>Guarded RHSs
</p></dd><dt class="src"><a name="v:grhssLocalBinds" class="def">grhssLocalBinds</a> :: <a href="HsBinds.html#t:HsLocalBinds">HsLocalBinds</a> id</dt><dd class="doc"><p>The where clause
</p></dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:GRHSs" class="caption collapser" onclick="toggleSection('i:GRHSs')">Instances</p><div id="section.i:GRHSs" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="HsExpr.html#t:GRHSs">GRHSs</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> id =&gt; <a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> (<a href="HsExpr.html#t:GRHSs">GRHSs</a> id)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:LGRHS" class="def">LGRHS</a> id = <a href="SrcLoc.html#t:Located">Located</a> (<a href="HsExpr.html#t:GRHS">GRHS</a> id)</p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:GRHS" class="def">GRHS</a> id </p><div class="doc"><p>Guarded Right Hand Side.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:GRHS" class="def">GRHS</a> [<a href="HsExpr.html#t:LStmt">LStmt</a> id] (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:GRHS" class="caption collapser" onclick="toggleSection('i:GRHS')">Instances</p><div id="section.i:GRHS" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="HsExpr.html#t:GRHS">GRHS</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> id =&gt; <a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> (<a href="HsExpr.html#t:GRHS">GRHS</a> id)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:pprMatches" class="def">pprMatches</a> :: (<a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idL, <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idR) =&gt; <a href="HsExpr.html#t:HsMatchContext">HsMatchContext</a> idL -&gt; <a href="HsExpr.html#t:MatchGroup">MatchGroup</a> idR -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:pprFunBind" class="def">pprFunBind</a> :: (<a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idL, <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idR) =&gt; idL -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="HsExpr.html#t:MatchGroup">MatchGroup</a> idR -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:pprPatBind" class="def">pprPatBind</a> :: <span class="keyword">forall</span> bndr id. (<a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> bndr, <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id) =&gt; <a href="HsPat.html#t:LPat">LPat</a> bndr -&gt; <a href="HsExpr.html#t:GRHSs">GRHSs</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:pprMatch" class="def">pprMatch</a> :: (<a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idL, <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idR) =&gt; <a href="HsExpr.html#t:HsMatchContext">HsMatchContext</a> idL -&gt; <a href="HsExpr.html#t:Match">Match</a> idR -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:pprGRHSs" class="def">pprGRHSs</a> :: (<a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idL, <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idR) =&gt; <a href="HsExpr.html#t:HsMatchContext">HsMatchContext</a> idL -&gt; <a href="HsExpr.html#t:GRHSs">GRHSs</a> idR -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:pprGRHS" class="def">pprGRHS</a> :: (<a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idL, <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idR) =&gt; <a href="HsExpr.html#t:HsMatchContext">HsMatchContext</a> idL -&gt; <a href="HsExpr.html#t:GRHS">GRHS</a> idR -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:pp_rhs" class="def">pp_rhs</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idR =&gt; <a href="HsExpr.html#t:HsMatchContext">HsMatchContext</a> idL -&gt; <a href="HsExpr.html#t:LHsExpr">LHsExpr</a> idR -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:LStmt" class="def">LStmt</a> id = <a href="SrcLoc.html#t:Located">Located</a> (<a href="HsExpr.html#t:StmtLR">StmtLR</a> id id)</p></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:LStmtLR" class="def">LStmtLR</a> idL idR = <a href="SrcLoc.html#t:Located">Located</a> (<a href="HsExpr.html#t:StmtLR">StmtLR</a> idL idR)</p></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:Stmt" class="def">Stmt</a> id = <a href="HsExpr.html#t:StmtLR">StmtLR</a> id id</p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:StmtLR" class="def">StmtLR</a> idL idR </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:LastStmt" class="def">LastStmt</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> idR) (<a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:BindStmt" class="def">BindStmt</a> (<a href="HsPat.html#t:LPat">LPat</a> idL) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> idR) (<a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR) (<a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ExprStmt" class="def">ExprStmt</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> idR) (<a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR) (<a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR) <a href="HsLit.html#t:PostTcType">PostTcType</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:LetStmt" class="def">LetStmt</a> (<a href="HsBinds.html#t:HsLocalBindsLR">HsLocalBindsLR</a> idL idR)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ParStmt" class="def">ParStmt</a> [([<a href="HsExpr.html#t:LStmt">LStmt</a> idL], [idR])] (<a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR) (<a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR) (<a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:TransStmt" class="def">TransStmt</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:trS_form" class="def">trS_form</a> :: <a href="HsExpr.html#t:TransForm">TransForm</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:trS_stmts" class="def">trS_stmts</a> :: [<a href="HsExpr.html#t:LStmt">LStmt</a> idL]</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:trS_bndrs" class="def">trS_bndrs</a> :: [(idR, idR)]</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:trS_using" class="def">trS_using</a> :: <a href="HsExpr.html#t:LHsExpr">LHsExpr</a> idR</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:trS_by" class="def">trS_by</a> :: <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> idR)</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:trS_ret" class="def">trS_ret</a> :: <a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:trS_bind" class="def">trS_bind</a> :: <a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:trS_fmap" class="def">trS_fmap</a> :: <a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:RecStmt" class="def">RecStmt</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:recS_stmts" class="def">recS_stmts</a> :: [<a href="HsExpr.html#t:LStmtLR">LStmtLR</a> idL idR]</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:recS_later_ids" class="def">recS_later_ids</a> :: [idR]</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:recS_rec_ids" class="def">recS_rec_ids</a> :: [idR]</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:recS_bind_fn" class="def">recS_bind_fn</a> :: <a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:recS_ret_fn" class="def">recS_ret_fn</a> :: <a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:recS_mfix_fn" class="def">recS_mfix_fn</a> :: <a href="HsExpr.html#t:SyntaxExpr">SyntaxExpr</a> idR</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:recS_later_rets" class="def">recS_later_rets</a> :: [<a href="HsExpr.html#t:PostTcExpr">PostTcExpr</a>]</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:recS_rec_rets" class="def">recS_rec_rets</a> :: [<a href="HsExpr.html#t:PostTcExpr">PostTcExpr</a>]</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:recS_ret_ty" class="def">recS_ret_ty</a> :: <a href="HsLit.html#t:PostTcType">PostTcType</a></dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:StmtLR" class="caption collapser" onclick="toggleSection('i:StmtLR')">Instances</p><div id="section.i:StmtLR" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable2">Typeable2</a> <a href="HsExpr.html#t:StmtLR">StmtLR</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> idL, <a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> idR) =&gt; <a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> (<a href="HsExpr.html#t:StmtLR">StmtLR</a> idL idR)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idL, <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idR) =&gt; <a href="Outputable.html#t:Outputable">Outputable</a> (<a href="HsExpr.html#t:StmtLR">StmtLR</a> idL idR)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:TransForm" class="def">TransForm</a>  </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ThenForm" class="def">ThenForm</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:GroupForm" class="def">GroupForm</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:TransForm" class="caption collapser" onclick="toggleSection('i:TransForm')">Instances</p><div id="section.i:TransForm" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> <a href="HsExpr.html#t:TransForm">TransForm</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="HsExpr.html#t:TransForm">TransForm</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:pprStmt" class="def">pprStmt</a> :: (<a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idL, <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idR) =&gt; <a href="HsExpr.html#t:StmtLR">StmtLR</a> idL idR -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:pprTransformStmt" class="def">pprTransformStmt</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; [id] -&gt; <a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:pprTransStmt" class="def">pprTransStmt</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) -&gt; <a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id -&gt; <a href="HsExpr.html#t:TransForm">TransForm</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:pprBy" class="def">pprBy</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:pprDo" class="def">pprDo</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="HsExpr.html#t:HsStmtContext">HsStmtContext</a> any -&gt; [<a href="HsExpr.html#t:LStmt">LStmt</a> id] -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:ppr_do_stmts" class="def">ppr_do_stmts</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; [<a href="HsExpr.html#t:LStmt">LStmt</a> id] -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:ppr_lc_stmts" class="def">ppr_lc_stmts</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; [<a href="HsExpr.html#t:LStmt">LStmt</a> id] -&gt; [<a href="Outputable.html#t:SDoc">SDoc</a>]</p></div><div class="top"><p class="src"><a name="v:pprComp" class="def">pprComp</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; [<a href="HsExpr.html#t:LStmt">LStmt</a> id] -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:HsSplice" class="def">HsSplice</a> id </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:HsSplice" class="def">HsSplice</a> id (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:HsSplice" class="caption collapser" onclick="toggleSection('i:HsSplice')">Instances</p><div id="section.i:HsSplice" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="HsExpr.html#t:HsSplice">HsSplice</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> id =&gt; <a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> (<a href="HsExpr.html#t:HsSplice">HsSplice</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="Outputable.html#t:Outputable">Outputable</a> (<a href="HsExpr.html#t:HsSplice">HsSplice</a> id)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:pprSplice" class="def">pprSplice</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="HsExpr.html#t:HsSplice">HsSplice</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:HsBracket" class="def">HsBracket</a> id </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ExpBr" class="def">ExpBr</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:PatBr" class="def">PatBr</a> (<a href="HsPat.html#t:LPat">LPat</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:DecBrL" class="def">DecBrL</a> [<a href="HsDecls.html#t:LHsDecl">LHsDecl</a> id]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:DecBrG" class="def">DecBrG</a> (<a href="HsDecls.html#t:HsGroup">HsGroup</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:TypBr" class="def">TypBr</a> (<a href="HsTypes.html#t:LHsType">LHsType</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:VarBr" class="def">VarBr</a> <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> id</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:HsBracket" class="caption collapser" onclick="toggleSection('i:HsBracket')">Instances</p><div id="section.i:HsBracket" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="HsExpr.html#t:HsBracket">HsBracket</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> id =&gt; <a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> (<a href="HsExpr.html#t:HsBracket">HsBracket</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="Outputable.html#t:Outputable">Outputable</a> (<a href="HsExpr.html#t:HsBracket">HsBracket</a> id)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:pprHsBracket" class="def">pprHsBracket</a> :: <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="HsExpr.html#t:HsBracket">HsBracket</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:thBrackets" class="def">thBrackets</a> :: <a href="Outputable.html#t:SDoc">SDoc</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:ArithSeqInfo" class="def">ArithSeqInfo</a> id </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:From" class="def">From</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:FromThen" class="def">FromThen</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:FromTo" class="def">FromTo</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:FromThenTo" class="def">FromThenTo</a> (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id) (<a href="HsExpr.html#t:LHsExpr">LHsExpr</a> id)</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:ArithSeqInfo" class="caption collapser" onclick="toggleSection('i:ArithSeqInfo')">Instances</p><div id="section.i:ArithSeqInfo" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="HsExpr.html#t:ArithSeqInfo">ArithSeqInfo</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> id =&gt; <a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> (<a href="HsExpr.html#t:ArithSeqInfo">ArithSeqInfo</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> id =&gt; <a href="Outputable.html#t:Outputable">Outputable</a> (<a href="HsExpr.html#t:ArithSeqInfo">ArithSeqInfo</a> id)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:pp_dotdot" class="def">pp_dotdot</a> :: <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:HsMatchContext" class="def">HsMatchContext</a> id </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:FunRhs" class="def">FunRhs</a> id <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:LambdaExpr" class="def">LambdaExpr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CaseAlt" class="def">CaseAlt</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ProcExpr" class="def">ProcExpr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:PatBindRhs" class="def">PatBindRhs</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:RecUpd" class="def">RecUpd</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:StmtCtxt" class="def">StmtCtxt</a> (<a href="HsExpr.html#t:HsStmtContext">HsStmtContext</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ThPatQuote" class="def">ThPatQuote</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:HsMatchContext" class="caption collapser" onclick="toggleSection('i:HsMatchContext')">Instances</p><div id="section.i:HsMatchContext" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="HsExpr.html#t:HsMatchContext">HsMatchContext</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> id =&gt; <a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> (<a href="HsExpr.html#t:HsMatchContext">HsMatchContext</a> id)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:HsStmtContext" class="def">HsStmtContext</a> id </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ListComp" class="def">ListComp</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:MonadComp" class="def">MonadComp</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:PArrComp" class="def">PArrComp</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:DoExpr" class="def">DoExpr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:MDoExpr" class="def">MDoExpr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ArrowExpr" class="def">ArrowExpr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:GhciStmt" class="def">GhciStmt</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:PatGuard" class="def">PatGuard</a> (<a href="HsExpr.html#t:HsMatchContext">HsMatchContext</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ParStmtCtxt" class="def">ParStmtCtxt</a> (<a href="HsExpr.html#t:HsStmtContext">HsStmtContext</a> id)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:TransStmtCtxt" class="def">TransStmtCtxt</a> (<a href="HsExpr.html#t:HsStmtContext">HsStmtContext</a> id)</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:HsStmtContext" class="caption collapser" onclick="toggleSection('i:HsStmtContext')">Instances</p><div id="section.i:HsStmtContext" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="HsExpr.html#t:HsStmtContext">HsStmtContext</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> id =&gt; <a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> (<a href="HsExpr.html#t:HsStmtContext">HsStmtContext</a> id)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:isListCompExpr" class="def">isListCompExpr</a> ::  <a href="HsExpr.html#t:HsStmtContext">HsStmtContext</a> id -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:isMonadCompExpr" class="def">isMonadCompExpr</a> ::  <a href="HsExpr.html#t:HsStmtContext">HsStmtContext</a> id -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:matchSeparator" class="def">matchSeparator</a> ::  <a href="HsExpr.html#t:HsMatchContext">HsMatchContext</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:pprMatchContext" class="def">pprMatchContext</a> :: <a href="Outputable.html#t:Outputable">Outputable</a> id =&gt; <a href="HsExpr.html#t:HsMatchContext">HsMatchContext</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:pprMatchContextNoun" class="def">pprMatchContextNoun</a> :: <a href="Outputable.html#t:Outputable">Outputable</a> id =&gt; <a href="HsExpr.html#t:HsMatchContext">HsMatchContext</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:pprAStmtContext" class="def">pprAStmtContext</a> :: <a href="Outputable.html#t:Outputable">Outputable</a> id =&gt; <a href="HsExpr.html#t:HsStmtContext">HsStmtContext</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:pprStmtContext" class="def">pprStmtContext</a> :: <a href="Outputable.html#t:Outputable">Outputable</a> id =&gt; <a href="HsExpr.html#t:HsStmtContext">HsStmtContext</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:matchContextErrString" class="def">matchContextErrString</a> :: <a href="Outputable.html#t:Outputable">Outputable</a> id =&gt; <a href="HsExpr.html#t:HsMatchContext">HsMatchContext</a> id -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:pprMatchInCtxt" class="def">pprMatchInCtxt</a> :: (<a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idL, <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idR) =&gt; <a href="HsExpr.html#t:HsMatchContext">HsMatchContext</a> idL -&gt; <a href="HsExpr.html#t:Match">Match</a> idR -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:pprStmtInCtxt" class="def">pprStmtInCtxt</a> :: (<a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idL, <a href="Outputable.html#t:OutputableBndr">OutputableBndr</a> idR) =&gt; <a href="HsExpr.html#t:HsStmtContext">HsStmtContext</a> idL -&gt; <a href="HsExpr.html#t:StmtLR">StmtLR</a> idL idR -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.11.0</p></div></body></html>