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 |
Type Constructors in CoreHW
Synopsis
- data TyCon
- = AlgTyCon {
- tyConName :: !TyConName
- tyConKind :: !Kind
- tyConArity :: !Int
- algTcRhs :: !AlgTyConRhs
- | FunTyCon {
- tyConName :: !TyConName
- tyConKind :: !Kind
- tyConArity :: !Int
- tyConSubst :: [([Type], Type)]
- | PrimTyCon { }
- | SuperKindTyCon { }
- = AlgTyCon {
- type TyConName = Name TyCon
- type TyConOccName = OccName TyCon
- type TyConMap = HashMap TyConOccName TyCon
- data AlgTyConRhs
- mkKindTyCon :: TyConName -> Kind -> TyCon
- isTupleTyConLike :: TyConName -> Bool
- tyConDataCons :: TyCon -> [DataCon]
Documentation
Type Constructor
AlgTyCon | Algorithmic DataCons |
| |
FunTyCon | Function TyCons (e.g. type families) |
| |
PrimTyCon | Primitive TyCons |
SuperKindTyCon | To close the loop on the type hierarchy |
Instances
type TyConOccName = OccName TyCon Source #
type TyConMap = HashMap TyConOccName TyCon Source #
data AlgTyConRhs Source #
The RHS of an Algebraic Datatype
Instances
isTupleTyConLike :: TyConName -> Bool Source #
Does the TyCon look like a tuple TyCon
tyConDataCons :: TyCon -> [DataCon] Source #
Get the DataCons belonging to a TyCon