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

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 8174fa4 · 2026-10-11

Moduleghc-10.0.0.20260917GHC2024

GHC.Hs.Expr

Abstract Haskell syntax for expressions.

  • 43 types
  • 94 values
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

Instances6Data, Outputable, CollectFldBinders, ToHie
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.

Instances3Data, Outputable, ToHie
datadata XXExprGhcTc
#

Constructors

Instances2Data, Outputable

Orphan instances

18 instances