Data.Data

# Module Data.Typeable re-exported for convenience

# The Data class for processing constructor applications

class Data a

# Datatype representations

data DataType

## Constructors

mkDataType
mkIntType
mkFloatType
mkStringType
mkNorepType

## Observers

dataTypeName
data DataRep
dataTypeRep

## Convenience functions

repConstr
isAlgType
dataTypeConstrs
indexConstr
maxConstrIndex
isNorepType

# Data constructor representations

data Constr
type ConIndex
data Fixity

## Constructors

mkConstr
mkIntConstr
mkFloatConstr
mkStringConstr

## Observers

constrType
data ConstrRep
constrRep
constrFields
constrFixity

## Convenience function: algebraic data types

constrIndex

## From strings to constructors and vice versa: all data types

showConstr
readConstr

# Convenience functions: take type constructors apart

tyconUQname
tyconModule

# Generic operations defined in terms of `gunfold`

fromConstr
fromConstrB
fromConstrM