Safe Haskell | None |
---|
Generic Data Type
NOTE: Type
is not included in the generic datatype.
However, we could have included it and provided the facility for descending into types.
We have not done so because
(a) we do not need that functionality, and
(b) the types are complicated and we're not sure that we understand them.
Core is the sum type of all nodes in the AST that we wish to be able to traverse.
All Node
instances in HERMIT define their Generic
type to be Core
.
ModGutsCore ModGuts | The module. |
ProgramCore CoreProgram | A program (list of top-level bindings). |
BindCore CoreBind | A binding group. |
DefCore CoreDef | A recursive definition. |
ExprCore CoreExpr | An expression. |
AltCore CoreAlt | A case alternative. |
GHC Core Extras
type CoreTickish = Tickish IdSource
defToRecBind :: [CoreDef] -> CoreBindSource
Convert a list of recursive definitions into an (isomorphic) recursive binding group.