Safe Haskell | None |
---|---|
Language | Haskell2010 |
Type Constructors in CoreHW
- data TyCon
- = AlgTyCon {
- tyConName :: TyConName
- tyConKind :: Kind
- tyConArity :: Int
- algTcRhs :: AlgTyConRhs
- | PrimTyCon {
- tyConName :: TyConName
- tyConKind :: Kind
- tyConArity :: Int
- primTyConRep :: PrimRep
- | SuperKindTyCon { }
- = AlgTyCon {
- type TyConName = Name TyCon
- data AlgTyConRhs
- data PrimRep
- mkKindTyCon :: TyConName -> Kind -> TyCon
- isTupleTyConLike :: TyConName -> Bool
- tyConDataCons :: TyCon -> [DataCon]
Documentation
Type Constructor
AlgTyCon | Algorithmic DataCons |
| |
PrimTyCon | Primitive TyCons |
| |
SuperKindTyCon | To close the loop on the type hierarchy |
data AlgTyConRhs Source
The RHS of an Algebraic Datatype
Show AlgTyConRhs | |
Rep AlgTyConRhs | |
NFData AlgTyConRhs | |
Alpha AlgTyConRhs | |
(Sat (ctx0 [DataCon]), Sat (ctx0 DataCon), Sat (ctx0 ([TyName], Type))) => Rep1 ctx AlgTyConRhs | |
Subst Term AlgTyConRhs | |
Subst Type AlgTyConRhs |
Representations for primitive types
mkKindTyCon :: TyConName -> Kind -> TyCon Source
Create a Kind out of a TyConName
isTupleTyConLike :: TyConName -> Bool Source
Does the TyCon look like a tuple TyCon
tyConDataCons :: TyCon -> [DataCon] Source
Get the DataCons belonging to a TyCon