Safe Haskell | None |
---|---|
Language | Haskell2010 |
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 :: Type -> Type) = Outputable (body GhcPs)
- data UnexpectedStatement where
- UnexpectedStatement :: forall body. Outputable (StmtLR GhcPs GhcPs body) => StmtLR GhcPs GhcPs body -> UnexpectedStatement
Documentation
:: 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
:: 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.
data UnexpectedStatement where Source #
An existential wrapper around
.StmtLR
GhcPs GhcPs body
UnexpectedStatement :: forall body. Outputable (StmtLR GhcPs GhcPs body) => StmtLR GhcPs GhcPs body -> UnexpectedStatement |