GHC.Rename.Expr

ghc-9.10.0.20240413: The GHC API

Safe Haskell | None
Language | GHC2021

GHC.Rename.Expr

Synopsis

- rnLExpr :: LHsExpr GhcPs -> RnM (LHsExpr GhcRn, FreeVars)
- rnExpr :: HsExpr GhcPs -> RnM (HsExpr GhcRn, FreeVars)
- rnStmts :: AnnoBody body => HsStmtContextRn -> (body GhcPs -> RnM (body GhcRn, FreeVars)) -> [LStmt GhcPs (LocatedA (body GhcPs))] -> ([Name] -> RnM (thing, FreeVars)) -> RnM (([LStmt GhcRn (LocatedA (body GhcRn))], thing), FreeVars)
- type AnnoBody (body :: Type -> Type) = Outputable (body GhcPs)
- data UnexpectedStatement where
  - UnexpectedStatement :: forall body. Outputable (StmtLR GhcPs GhcPs body) => StmtLR GhcPs GhcPs body -> UnexpectedStatement

# Documentation

rnLExpr :: LHsExpr GhcPs -> RnM (LHsExpr GhcRn, FreeVars) Source #

rnExpr :: HsExpr GhcPs -> RnM (HsExpr GhcRn, FreeVars) Source #

rnStmts Source #

Arguments

:: AnnoBody body |
=> HsStmtContextRn |
-> (body GhcPs -> RnM (body GhcRn, FreeVars)) | How to rename the body of each statement (e.g. rnLExpr)
-> [LStmt GhcPs (LocatedA (body GhcPs))] | Statements
-> ([Name] -> RnM (thing, FreeVars)) | if these statements scope over something, this renames it and returns the result.
-> RnM (([LStmt GhcRn (LocatedA (body GhcRn))], thing), FreeVars) |

Rename some Stmts

type AnnoBody (body :: Type -> Type) = Outputable (body GhcPs) Source #

data UnexpectedStatement where Source #

An existential wrapper around ``StmtLR` GhcPs GhcPs body`.

Constructors

UnexpectedStatement :: forall body. Outputable (StmtLR GhcPs GhcPs body) => StmtLR GhcPs GhcPs body -> UnexpectedStatement |