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

GHC 9.14.1 · lts/ghc-9.14.x · 45dd537 · 2026-10-11

Moduleghc-9.14.1GHC2021

GHC.Hs.Expr

Abstract Haskell syntax for expressions.

  • 43 types
  • 107 values
  • Packageghc-9.14.1
  • Exports158
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceExpr.hs
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