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.TyCon
Description
Type Constructors in CoreHW
Synopsis
- data TyCon
- = AlgTyCon { }
- | FunTyCon { }
- | PrimTyCon { }
- | SuperKindTyCon { }
- type TyConName = Name TyCon
- type TyConMap = UniqMap TyCon
- data AlgTyConRhs
- mkKindTyCon :: TyConName -> Kind -> TyCon
- isTupleTyConLike :: TyConName -> Bool
- isNewTypeTc :: TyCon -> Bool
- tyConDataCons :: TyCon -> [DataCon]
Documentation
Type Constructor
Constructors
AlgTyCon | Algorithmic DataCons |
FunTyCon | Function TyCons (e.g. type families) |
PrimTyCon | Primitive TyCons |
SuperKindTyCon | To close the loop on the type hierarchy |
Instances
data AlgTyConRhs Source #
The RHS of an Algebraic Datatype
Instances
Show AlgTyConRhs Source # | |
Defined in Clash.Core.TyCon Methods showsPrec :: Int -> AlgTyConRhs -> ShowS # show :: AlgTyConRhs -> String # showList :: [AlgTyConRhs] -> ShowS # | |
Generic AlgTyConRhs Source # | |
Defined in Clash.Core.TyCon Associated Types type Rep AlgTyConRhs :: Type -> Type # | |
Binary AlgTyConRhs Source # | |
Defined in Clash.Core.TyCon | |
NFData AlgTyConRhs Source # | |
Defined in Clash.Core.TyCon Methods rnf :: AlgTyConRhs -> () # | |
type Rep AlgTyConRhs Source # | |
Defined in Clash.Core.TyCon type Rep AlgTyConRhs = D1 (MetaData "AlgTyConRhs" "Clash.Core.TyCon" "clash-lib-1.2.1-inplace" False) (C1 (MetaCons "DataTyCon" PrefixI True) (S1 (MetaSel (Just "dataCons") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [DataCon])) :+: C1 (MetaCons "NewTyCon" PrefixI True) (S1 (MetaSel (Just "dataCon") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 DataCon) :*: S1 (MetaSel (Just "ntEtadRhs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ([TyVar], Type)))) |
isTupleTyConLike :: TyConName -> Bool Source #
Does the TyCon look like a tuple TyCon
isNewTypeTc :: TyCon -> Bool Source #
tyConDataCons :: TyCon -> [DataCon] Source #
Get the DataCons belonging to a TyCon