clash-lib-1.4.6: Clash: a functional hardware description language - As a library
Copyright(C) 2012-2016 University of Twente
2017 Google Inc.
LicenseBSD2 (see the file LICENSE)
MaintainerChristiaan Baaij <christiaan.baaij@gmail.com>
Safe HaskellNone
LanguageHaskell2010

Clash.Core.DataCon

Description

Data Constructors in CoreHW

Synopsis

Documentation

data DataCon Source #

Data Constructor

Constructors

MkData 

Fields

  • dcName :: !DcName

    Name of the DataCon

  • dcUniq :: !Unique

    Invariant: forall x . dcUniq x ~ nameUniq (dcName x)

  • dcTag :: !ConTag

    Syntactical position in the type definition

  • dcType :: !Type

    Type of the 'DataCon

  • dcUnivTyVars :: [TyVar]

    Universally quantified type-variables, these type variables are also part of the result type of the DataCon

  • dcExtTyVars :: [TyVar]

    Existentially quantified type-variables, these type variables are not part of the result of the DataCon, but only of the arguments.

  • dcArgTys :: [Type]

    Argument types

  • dcFieldLabels :: [Text]

    Names of fields. Used when data constructor is referring to a record type.

Instances

Instances details
Eq DataCon Source # 
Instance details

Defined in Clash.Core.DataCon

Methods

(==) :: DataCon -> DataCon -> Bool #

(/=) :: DataCon -> DataCon -> Bool #

Ord DataCon Source # 
Instance details

Defined in Clash.Core.DataCon

Show DataCon Source # 
Instance details

Defined in Clash.Core.DataCon

Generic DataCon Source # 
Instance details

Defined in Clash.Core.DataCon

Associated Types

type Rep DataCon :: Type -> Type #

Methods

from :: DataCon -> Rep DataCon x #

to :: Rep DataCon x -> DataCon #

Binary DataCon Source # 
Instance details

Defined in Clash.Core.DataCon

Methods

put :: DataCon -> Put #

get :: Get DataCon #

putList :: [DataCon] -> Put #

NFData DataCon Source # 
Instance details

Defined in Clash.Core.DataCon

Methods

rnf :: DataCon -> () #

Uniquable DataCon Source # 
Instance details

Defined in Clash.Core.DataCon

PrettyPrec DataCon Source # 
Instance details

Defined in Clash.Core.Pretty

type Rep DataCon Source # 
Instance details

Defined in Clash.Core.DataCon

type DcName = Name DataCon Source #

DataCon reference

type ConTag = Int Source #

Syntactical position of the DataCon in the type definition