| Copyright | (C) 2012-2016, University of Twente |
|---|---|
| License | BSD2 (see the file LICENSE) |
| Maintainer | Christiaan Baaij <christiaan.baaij@gmail.com> |
| Safe Haskell | None |
| Language | Haskell2010 |
CLaSH.Core.Term
Description
Term representation in the CoreHW language: System F + LetRec + Case
Documentation
Term representation in the CoreHW language: System F + LetRec + Case
Constructors
| 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 |
Instances
| 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