| Copyright | (C) 2012-2016 University of Twente 2021-2024 QBayLogic B.V. |
|---|---|
| License | BSD2 (see the file LICENSE) |
| Maintainer | QBayLogic B.V. <devops@qbaylogic.com> |
| Safe Haskell | None |
| Language | Haskell2010 |
Clash.Core.TyCon
Description
Type Constructors in CoreHW
Synopsis
- data TyCon
- = AlgTyCon { }
- | PromotedDataCon { }
- | FunTyCon { }
- | PrimTyCon { }
- type TyConName = Name TyCon
- type TyConMap = UniqMap TyCon
- data AlgTyConRhs
- mkKindTyCon :: TyConName -> Kind -> TyCon
- isTupleTyConLike :: TyConName -> Bool
- isPrimTc :: TyCon -> Bool
- isNewTypeTc :: TyCon -> Bool
- isPromotedDc :: TyCon -> Bool
- tyConDataCons :: TyCon -> [DataCon]
Documentation
Type Constructor
Constructors
| AlgTyCon | Algorithmic DataCons |
| PromotedDataCon | |
| FunTyCon | Function TyCons (e.g. type families) |
| PrimTyCon | Primitive TyCons |
Instances
data AlgTyConRhs Source #
The RHS of an Algebraic Datatype
Instances
| Binary AlgTyConRhs Source # | |||||
Defined in Clash.Core.TyCon Methods put :: AlgTyConRhs -> Put Source # get :: Get AlgTyConRhs Source # putList :: [AlgTyConRhs] -> Put Source # | |||||
| NFData AlgTyConRhs Source # | |||||
Defined in Clash.Core.TyCon Methods rnf :: AlgTyConRhs -> () Source # | |||||
| Generic AlgTyConRhs Source # | |||||
Defined in Clash.Core.TyCon Associated Types
Methods from :: AlgTyConRhs -> Rep AlgTyConRhs x Source # to :: Rep AlgTyConRhs x -> AlgTyConRhs Source # | |||||
| Show AlgTyConRhs Source # | |||||
Defined in Clash.Core.TyCon | |||||
| type Rep AlgTyConRhs Source # | |||||
Defined in Clash.Core.TyCon type Rep AlgTyConRhs = D1 ('MetaData "AlgTyConRhs" "Clash.Core.TyCon" "clash-lib-1.8.4-Avs1lkPVzQY2EJC6aQfI6Y" '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 #
isPromotedDc :: TyCon -> Bool Source #
tyConDataCons :: TyCon -> [DataCon] Source #
Get the DataCons belonging to a TyCon