Safe Haskell | None |
---|---|
Language | Haskell2010 |
Term representation in the CoreHW language: System F + LetRec + Case
Documentation
Term representation in the CoreHW language: System F + LetRec + Case
Var !Type !TmName | Variable reference |
Data !DataCon | Datatype constructor |
Literal !Literal | Literal |
Prim !Text !Type | Primitive |
Lam !(Bind Id Term) | Term-abstraction |
TyLam !(Bind TyVar Term) | Type-abstraction |
App !Term !Term | Application |
TyApp !Term !Type | Type-application |
Letrec !(Bind (Rec [LetBinding]) Term) | Recursive let-binding |
Case !Term !Type [Bind Pat Term] | Case-expression: subject, type of alternatives, list of alternatives |
Eq Term Source | |
Ord Term Source | |
Show Term Source | |
Generic Term Source | |
NFData Term Source | |
Alpha Term Source | |
Pretty Term Source | |
Subst Term Term Source | |
Subst Term Type | |
Subst Term Pat Source | |
Subst Type Term Source | |
Generic b => Subst Term (Var b) | |
Pretty (Var Term) Source | |
Pretty (Id, Term) Source | |
type Rep Term Source |
type LetBinding = (Id, Embed Term) Source
Binding in a LetRec construct