| Safe Haskell | Ignore |
|---|---|
| Language | Haskell2010 |
GHC.Rename.Expr
Synopsis
- rnLExpr :: LHsExpr GhcPs -> RnM (LHsExpr GhcRn, FreeVars)
- rnExpr :: HsExpr GhcPs -> RnM (HsExpr GhcRn, FreeVars)
- rnStmts :: AnnoBody body => HsStmtContext GhcRn -> (body GhcPs -> RnM (body GhcRn, FreeVars)) -> [LStmt GhcPs (LocatedA (body GhcPs))] -> ([Name] -> RnM (thing, FreeVars)) -> RnM (([LStmt GhcRn (LocatedA (body GhcRn))], thing), FreeVars)
- mkExpandedExpr :: HsExpr GhcRn -> HsExpr GhcRn -> HsExpr GhcRn
- type AnnoBody body = Outputable (body GhcPs)
- data UnexpectedStatement where
- UnexpectedStatement :: forall body. Outputable (StmtLR GhcPs GhcPs body) => StmtLR GhcPs GhcPs body -> UnexpectedStatement
Documentation
Arguments
| :: AnnoBody body | |
| => HsStmtContext GhcRn | |
| -> (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
Arguments
| :: HsExpr GhcRn | source expression |
| -> HsExpr GhcRn | expanded expression |
| -> HsExpr GhcRn | suitably wrapped |
Build a HsExpansion out of an extension constructor,
and the two components of the expansion: original and
desugared expressions.
type AnnoBody body = Outputable (body GhcPs) Source #
data UnexpectedStatement where #
An existential wrapper around .StmtLR GhcPs GhcPs body
Constructors
| UnexpectedStatement :: forall body. Outputable (StmtLR GhcPs GhcPs body) => StmtLR GhcPs GhcPs body -> UnexpectedStatement |