Safe Haskell | None |
---|---|
Language | Haskell2010 |
Language.Bluespec.Classic.AST.Type
Synopsis
- data Type
- data TyVar = TyVar {}
- data TyCon
- data TISort
- = TItype Integer Type
- | TIdata {
- tidata_cons :: [Id]
- tidata_enum :: Bool
- | TIstruct StructSubType [Id]
- | TIabstract
- data StructSubType
- = SStruct
- | SClass
- | SDataCon {
- sdatacon_id :: Id
- sdatacon_named_fields :: Bool
- | SInterface [IfcPragma]
- | SPolyWrap {
- spolywrap_id :: Id
- spolywrap_ctor :: Maybe Id
- spolywrap_field :: Id
- type CType = Type
- data Kind
- data PartialKind
- newtype CTypeclass = CTypeclass Id
- data CPred = CPred {
- cpred_tc :: CTypeclass
- cpred_args :: [CType]
- data CQType = CQType [CPred] CType
- baseKVar :: Int
- cTNum :: Integer -> Position -> CType
- isTConArrow :: TyCon -> Bool
- isTConPair :: TyCon -> Bool
- leftCon :: CType -> Maybe Id
Documentation
Representation of types
Constructors
TVar TyVar | type variable |
TCon TyCon | type constructor |
TAp Type Type | type-level application |
TGen Position Int | quantified type variable used in type schemes |
TDefMonad Position | not used after CVParserImperative |
Instances
Show Type Source # | |
Eq Type Source # | |
Ord Type Source # | |
HasKind Type Source # | |
HasPosition Type Source # | |
Defined in Language.Bluespec.Classic.AST.Type Methods getPosition :: Type -> Position Source # | |
Pretty Type Source # | |
Defined in Language.Bluespec.Classic.AST.Type Methods pPrintPrec :: PrettyLevel -> Rational -> Type -> Doc pPrintList :: PrettyLevel -> [Type] -> Doc |
Representation of a type variable
Constructors
TyVar | |
Instances
Show TyVar Source # | |
Eq TyVar Source # | |
Ord TyVar Source # | |
HasKind TyVar Source # | |
HasPosition TyVar Source # | |
Defined in Language.Bluespec.Classic.AST.Type Methods getPosition :: TyVar -> Position Source # | |
Pretty TyVar Source # | |
Defined in Language.Bluespec.Classic.AST.Type Methods pPrintPrec :: PrettyLevel -> Rational -> TyVar -> Doc pPrintList :: PrettyLevel -> [TyVar] -> Doc |
Representation of a type constructor
Constructors
TyCon | A constructor for a type of value kind |
TyNum | A constructor for a type of numeric kind |
Fields
| |
TyStr | A constructor for a type of string kind |
Fields
|
Instances
Show TyCon Source # | |
Eq TyCon Source # | |
Ord TyCon Source # | |
HasKind TyCon Source # | |
HasPosition TyCon Source # | |
Defined in Language.Bluespec.Classic.AST.Type Methods getPosition :: TyCon -> Position Source # | |
Pretty TyCon Source # | |
Defined in Language.Bluespec.Classic.AST.Type Methods pPrintPrec :: PrettyLevel -> Rational -> TyCon -> Doc pPrintList :: PrettyLevel -> [TyCon] -> Doc |
Constructors
TItype Integer Type | |
TIdata | |
Fields
| |
TIstruct StructSubType [Id] | |
TIabstract |
data StructSubType Source #
Constructors
SStruct | |
SClass | |
SDataCon | |
Fields
| |
SInterface [IfcPragma] | |
SPolyWrap | |
Fields
|
Instances
Show StructSubType Source # | |
Defined in Language.Bluespec.Classic.AST.Type Methods showsPrec :: Int -> StructSubType -> ShowS show :: StructSubType -> String showList :: [StructSubType] -> ShowS | |
Eq StructSubType Source # | |
Defined in Language.Bluespec.Classic.AST.Type | |
Ord StructSubType Source # | |
Defined in Language.Bluespec.Classic.AST.Type Methods compare :: StructSubType -> StructSubType -> Ordering (<) :: StructSubType -> StructSubType -> Bool (<=) :: StructSubType -> StructSubType -> Bool (>) :: StructSubType -> StructSubType -> Bool (>=) :: StructSubType -> StructSubType -> Bool max :: StructSubType -> StructSubType -> StructSubType min :: StructSubType -> StructSubType -> StructSubType | |
Pretty StructSubType Source # | |
Defined in Language.Bluespec.Classic.AST.Type Methods pPrintPrec :: PrettyLevel -> Rational -> StructSubType -> Doc pPrint :: StructSubType -> Doc pPrintList :: PrettyLevel -> [StructSubType] -> Doc |
Representation of kinds
Constructors
KStar | kind of a simple value type |
KNum | kind of a simple numeric type |
KStr | kind of a simple string type |
Kfun Kind Kind | kind of type constructors (type-level function) |
KVar Int | generated kind variable (used only during kind inference) |
data PartialKind Source #
Constructors
PKNoInfo | |
PKStar | |
PKNum | |
PKStr | |
PKfun PartialKind PartialKind |
Instances
Show PartialKind Source # | |
Defined in Language.Bluespec.Classic.AST.Type Methods showsPrec :: Int -> PartialKind -> ShowS show :: PartialKind -> String showList :: [PartialKind] -> ShowS | |
Eq PartialKind Source # | |
Defined in Language.Bluespec.Classic.AST.Type | |
Ord PartialKind Source # | |
Defined in Language.Bluespec.Classic.AST.Type Methods compare :: PartialKind -> PartialKind -> Ordering (<) :: PartialKind -> PartialKind -> Bool (<=) :: PartialKind -> PartialKind -> Bool (>) :: PartialKind -> PartialKind -> Bool (>=) :: PartialKind -> PartialKind -> Bool max :: PartialKind -> PartialKind -> PartialKind min :: PartialKind -> PartialKind -> PartialKind | |
Pretty PartialKind Source # | |
Defined in Language.Bluespec.Classic.AST.Type Methods pPrintPrec :: PrettyLevel -> Rational -> PartialKind -> Doc pPrint :: PartialKind -> Doc pPrintList :: PrettyLevel -> [PartialKind] -> Doc |
newtype CTypeclass Source #
A named typeclass
Constructors
CTypeclass Id |
Instances
Show CTypeclass Source # | |
Defined in Language.Bluespec.Classic.AST.Type Methods showsPrec :: Int -> CTypeclass -> ShowS show :: CTypeclass -> String showList :: [CTypeclass] -> ShowS | |
Eq CTypeclass Source # | |
Defined in Language.Bluespec.Classic.AST.Type | |
Ord CTypeclass Source # | |
Defined in Language.Bluespec.Classic.AST.Type Methods compare :: CTypeclass -> CTypeclass -> Ordering (<) :: CTypeclass -> CTypeclass -> Bool (<=) :: CTypeclass -> CTypeclass -> Bool (>) :: CTypeclass -> CTypeclass -> Bool (>=) :: CTypeclass -> CTypeclass -> Bool max :: CTypeclass -> CTypeclass -> CTypeclass min :: CTypeclass -> CTypeclass -> CTypeclass | |
HasPosition CTypeclass Source # | |
Defined in Language.Bluespec.Classic.AST.Type Methods getPosition :: CTypeclass -> Position Source # | |
Pretty CTypeclass Source # | |
Defined in Language.Bluespec.Classic.AST.Type Methods pPrintPrec :: PrettyLevel -> Rational -> CTypeclass -> Doc pPrint :: CTypeclass -> Doc pPrintList :: PrettyLevel -> [CTypeclass] -> Doc |
Representation of the provisos and other class constraints
Constructors
CPred | |
Fields
|
Instances
Show CPred Source # | |
Eq CPred Source # | |
Ord CPred Source # | |
HasPosition CPred Source # | |
Defined in Language.Bluespec.Classic.AST.Type Methods getPosition :: CPred -> Position Source # | |
Pretty CPred Source # | |
Defined in Language.Bluespec.Classic.AST.Type Methods pPrintPrec :: PrettyLevel -> Rational -> CPred -> Doc pPrintList :: PrettyLevel -> [CPred] -> Doc |
Instances
Show CQType Source # | |
Eq CQType Source # | |
Ord CQType Source # | |
HasPosition CQType Source # | |
Defined in Language.Bluespec.Classic.AST.Type Methods getPosition :: CQType -> Position Source # | |
Pretty CQType Source # | |
Defined in Language.Bluespec.Classic.AST.Type Methods pPrintPrec :: PrettyLevel -> Rational -> CQType -> Doc pPrintList :: PrettyLevel -> [CQType] -> Doc |
isTConArrow :: TyCon -> Bool Source #
isTConPair :: TyCon -> Bool Source #