clash-lib-0.2: CAES Language for Synchronous Hardware - As a Library

Safe HaskellNone

CLaSH.Core.TyCon

Description

Type Constructors in CoreHW

Synopsis

Documentation

data TyCon Source

Type Constructor

Constructors

AlgTyCon

Algorithmic DataCons

Fields

tyConName :: TyConName

Name of the TyCon

Name of the TyCon

Name of the TyCon

tyConKind :: Kind

Kind of the TyCon

Kind of the TyCon

tyConArity :: Int

Number of type arguments

Number of type arguments

algTcRhs :: AlgTyConRhs

DataCon definitions

PrimTyCon

Primitive TyCons

Fields

tyConName :: TyConName

Name of the TyCon

Name of the TyCon

Name of the TyCon

tyConKind :: Kind

Kind of the TyCon

Kind of the TyCon

tyConArity :: Int

Number of type arguments

Number of type arguments

primTyConRep :: PrimRep

Representation

SuperKindTyCon

To close the loop on the type hierarchy

Fields

tyConName :: TyConName

Name of the TyCon

Name of the TyCon

Name of the TyCon

Instances

Eq TyCon 
Ord TyCon 
Show TyCon 
Rep TyCon 
Alpha TyCon 
Pretty TyCon 
(Sat (ctx0 TyConName), Sat (ctx0 Kind), Sat (ctx0 Int), Sat (ctx0 AlgTyConRhs), Sat (ctx0 PrimRep)) => Rep1 ctx0 TyCon 
Subst Term TyCon 
Subst Type TyCon 

type TyConName = Name TyConSource

TyCon reference

data AlgTyConRhs Source

The RHS of an Algebraic Datatype

Constructors

DataTyCon 

Fields

dataCons :: [DataCon]

The DataCons of a TyCon

NewTyCon 

Fields

dataCon :: DataCon

The newtype DataCon

ntEtadRhs :: ([TyName], Type)

The argument type of the newtype DataCon in eta-reduced form, which is just the representation of the TyCon. The TyName's are the type-variables from the corresponding TyCon.

Instances

Show AlgTyConRhs 
Rep AlgTyConRhs 
Alpha AlgTyConRhs 
(Sat (ctx0 [DataCon]), Sat (ctx0 DataCon), Sat (ctx0 ([TyName], Type))) => Rep1 ctx0 AlgTyConRhs 
Subst Term AlgTyConRhs 
Subst Type AlgTyConRhs 

data PrimRep Source

Representations for primitive types

Constructors

IntRep 
VoidRep 

mkKindTyCon :: TyConName -> Kind -> TyConSource

Create a Kind out of a TyConName

isTupleTyConLike :: TyCon -> BoolSource

Does the TyCon look like a tuple TyCon

tyConDataCons :: TyCon -> [DataCon]Source

Get the DataCons belonging to a TyCon