HORIZON HASKELLDocslts/ghc-9.14.x3e2d5682026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 9.14.1 · lts/ghc-9.14.x · 3e2d568 · 2026-10-11

Moduleghc-lib-parser-9.14.1.20251220GHC2021

GHC.Hs.Expr

Abstract Haskell syntax for expressions.

  • 43 types
  • 107 values

Make a 'SyntaxExpr GhcRn' from an expression Used only in getMonadFailOp. See Note [Monad fail : Rebindable syntax, overloaded strings] in GHC.Rename.Expr

valuenoExpr :: HsExpr (GhcPass p)
#

This is used for rebindable-syntax pieces that are too polymorphic for tcSyntaxOp (trS_fmap and the mzip in ParStmt)

datadata ApplicativeArg idL
#

Applicative Argument

Constructors

Instances5Data, Outputable, CollectFldBinders
datadata ApplicativeStmt idL idR
#

ApplicativeStmt represents an applicative expression built with <$> and <*>. It is generated by the renamer, and is desugared into the appropriate applicative expression by the desugarer, but it is intended to be invisible in error messages.

For full details, see Note [ApplicativeDo] in GHC.Rename.Expr

Constructors

Instances9Data, …
data familydata family HsRecUpdParent x
#

Information about the parent of a record update:

  • the parent type constructor or pattern synonym,

  • the relevant con-likes,

  • the field labels.

Instances6Data, HsRecUpdParent
typetype PostTcExpr = HsExpr GhcTc
#

Post-Type checking Expression

PostTcExpr is an evidence expression attached to the syntax tree by the type checker (c.f. postTcType).

typetype PostTcTable = [(Name, PostTcExpr)]
#

Post-Type checking Table

We use a PostTcTable where there are a bunch of pieces of evidence, more than is convenient to keep individually.

datadata SyntaxExprTc
#

An expression with wrappers, used for rebindable syntax

This should desugar to

syn_res_wrap $ syn_expr (syn_arg_wraps[0] arg0)
                        (syn_arg_wraps[1] arg1) ...

where the actual arguments come from elsewhere in the AST.

Instances2Data, Outputable
datadata XXExprGhcTc
#

Constructors

Instances2Data, Outputable

Orphan instances

18 instances