| Safe Haskell | None |
|---|
Language.HERMIT.Kure.SumTypes
Contents
Sum Types
Core is a sum type for use by KURE. Core = ModGuts + CoreProg + CoreBind + CoreDef + CoreExpr + CoreAlt
Constructors
| GutsCore ModGuts | The module. |
| ProgCore CoreProg | A program (a telescope of top-level binding groups). |
| BindCore CoreBind | A binding group. |
| DefCore CoreDef | A recursive definition. |
| ExprCore CoreExpr | An expression. |
| AltCore CoreAlt | A case alternative. |
Instances
| (ExtendPath c Crumb, AddBindings c) => Walker c Core | Walking over modules, programs, binding groups, definitions, expressions and case alternatives. |
| Injection ModGuts Core | |
| Injection CoreExpr Core | |
| Injection CoreBind Core | |
| Injection CoreAlt Core | |
| Injection CoreDef Core | |
| Injection CoreProg Core | |
| Injection Core CoreTC | |
| Extern (BiRewriteH Core) | |
| Extern (RewriteH Core) | |
| Extern (TranslateH Core String) | |
| Extern (TranslateH Core ()) | |
| Extern (TranslateH Core PathH) |
TyCo is a sum type for use by KURE. TyCo = Type + Coercion
Constructors
| TypeCore Type | A type. |
| CoercionCore Coercion | A coercion. |
CoreTC is a sum type for use by KURE. CoreTC = Core + TyCo
Instances
| (ExtendPath c Crumb, AddBindings c) => Walker c CoreTC | Walking over modules, programs, binding groups, definitions, expressions and case alternatives. |
| Injection ModGuts CoreTC | |
| Injection CoreExpr CoreTC | |
| Injection CoreBind CoreTC | |
| Injection CoreAlt CoreTC | |
| Injection Coercion CoreTC | |
| Injection Type CoreTC | |
| Injection CoreDef CoreTC | |
| Injection CoreProg CoreTC | |
| Injection TyCo CoreTC | |
| Injection Core CoreTC | |
| Extern (RewriteH CoreTC) | |
| Extern (TranslateDocH CoreTC) | |
| Extern (TranslateH CoreTC String) |