language-bluespec-0.1: An implementation of the Bluespec Haskell AST
Safe HaskellNone
LanguageHaskell2010

Language.Bluespec.Classic.AST.Type

Synopsis

Documentation

data Type Source #

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

Instances details
Show Type Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

showsPrec :: Int -> Type -> ShowS

show :: Type -> String

showList :: [Type] -> ShowS

Eq Type Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

(==) :: Type -> Type -> Bool

(/=) :: Type -> Type -> Bool

Ord Type Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

compare :: Type -> Type -> Ordering

(<) :: Type -> Type -> Bool

(<=) :: Type -> Type -> Bool

(>) :: Type -> Type -> Bool

(>=) :: Type -> Type -> Bool

max :: Type -> Type -> Type

min :: Type -> Type -> Type

HasKind Type Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Builtin.Types

Methods

kind :: Type -> Kind Source #

HasPosition Type Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Pretty Type Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

pPrintPrec :: PrettyLevel -> Rational -> Type -> Doc

pPrint :: Type -> Doc

pPrintList :: PrettyLevel -> [Type] -> Doc

data TyVar Source #

Representation of a type variable

Constructors

TyVar 

Fields

Instances

Instances details
Show TyVar Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

showsPrec :: Int -> TyVar -> ShowS

show :: TyVar -> String

showList :: [TyVar] -> ShowS

Eq TyVar Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

(==) :: TyVar -> TyVar -> Bool

(/=) :: TyVar -> TyVar -> Bool

Ord TyVar Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

compare :: TyVar -> TyVar -> Ordering

(<) :: TyVar -> TyVar -> Bool

(<=) :: TyVar -> TyVar -> Bool

(>) :: TyVar -> TyVar -> Bool

(>=) :: TyVar -> TyVar -> Bool

max :: TyVar -> TyVar -> TyVar

min :: TyVar -> TyVar -> TyVar

HasKind TyVar Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Builtin.Types

Methods

kind :: TyVar -> Kind Source #

HasPosition TyVar Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Pretty TyVar Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

pPrintPrec :: PrettyLevel -> Rational -> TyVar -> Doc

pPrint :: TyVar -> Doc

pPrintList :: PrettyLevel -> [TyVar] -> Doc

data TyCon Source #

Representation of a type constructor

Constructors

TyCon

A constructor for a type of value kind

Fields

TyNum

A constructor for a type of numeric kind

Fields

TyStr

A constructor for a type of string kind

Fields

Instances

Instances details
Show TyCon Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

showsPrec :: Int -> TyCon -> ShowS

show :: TyCon -> String

showList :: [TyCon] -> ShowS

Eq TyCon Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

(==) :: TyCon -> TyCon -> Bool

(/=) :: TyCon -> TyCon -> Bool

Ord TyCon Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

compare :: TyCon -> TyCon -> Ordering

(<) :: TyCon -> TyCon -> Bool

(<=) :: TyCon -> TyCon -> Bool

(>) :: TyCon -> TyCon -> Bool

(>=) :: TyCon -> TyCon -> Bool

max :: TyCon -> TyCon -> TyCon

min :: TyCon -> TyCon -> TyCon

HasKind TyCon Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Builtin.Types

Methods

kind :: TyCon -> Kind Source #

HasPosition TyCon Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Pretty TyCon Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

pPrintPrec :: PrettyLevel -> Rational -> TyCon -> Doc

pPrint :: TyCon -> Doc

pPrintList :: PrettyLevel -> [TyCon] -> Doc

data TISort Source #

Constructors

TItype Integer Type 
TIdata 

Fields

TIstruct StructSubType [Id] 
TIabstract 

Instances

Instances details
Show TISort Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

showsPrec :: Int -> TISort -> ShowS

show :: TISort -> String

showList :: [TISort] -> ShowS

Eq TISort Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

(==) :: TISort -> TISort -> Bool

(/=) :: TISort -> TISort -> Bool

Ord TISort Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

compare :: TISort -> TISort -> Ordering

(<) :: TISort -> TISort -> Bool

(<=) :: TISort -> TISort -> Bool

(>) :: TISort -> TISort -> Bool

(>=) :: TISort -> TISort -> Bool

max :: TISort -> TISort -> TISort

min :: TISort -> TISort -> TISort

Pretty TISort Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

pPrintPrec :: PrettyLevel -> Rational -> TISort -> Doc

pPrint :: TISort -> Doc

pPrintList :: PrettyLevel -> [TISort] -> Doc

data StructSubType Source #

Constructors

SStruct 
SClass 
SDataCon 
SInterface [IfcPragma] 
SPolyWrap 

Fields

Instances

Instances details
Show StructSubType Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

showsPrec :: Int -> StructSubType -> ShowS

show :: StructSubType -> String

showList :: [StructSubType] -> ShowS

Eq StructSubType Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Ord StructSubType Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Pretty StructSubType Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

pPrintPrec :: PrettyLevel -> Rational -> StructSubType -> Doc

pPrint :: StructSubType -> Doc

pPrintList :: PrettyLevel -> [StructSubType] -> Doc

data Kind Source #

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)

Instances

Instances details
Show Kind Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

showsPrec :: Int -> Kind -> ShowS

show :: Kind -> String

showList :: [Kind] -> ShowS

Eq Kind Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

(==) :: Kind -> Kind -> Bool

(/=) :: Kind -> Kind -> Bool

Ord Kind Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

compare :: Kind -> Kind -> Ordering

(<) :: Kind -> Kind -> Bool

(<=) :: Kind -> Kind -> Bool

(>) :: Kind -> Kind -> Bool

(>=) :: Kind -> Kind -> Bool

max :: Kind -> Kind -> Kind

min :: Kind -> Kind -> Kind

Pretty Kind Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

pPrintPrec :: PrettyLevel -> Rational -> Kind -> Doc

pPrint :: Kind -> Doc

pPrintList :: PrettyLevel -> [Kind] -> Doc

data PartialKind Source #

Instances

Instances details
Show PartialKind Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

showsPrec :: Int -> PartialKind -> ShowS

show :: PartialKind -> String

showList :: [PartialKind] -> ShowS

Eq PartialKind Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

(==) :: PartialKind -> PartialKind -> Bool

(/=) :: PartialKind -> PartialKind -> Bool

Ord PartialKind Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Pretty PartialKind Source # 
Instance details

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

Instances details
Show CTypeclass Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

showsPrec :: Int -> CTypeclass -> ShowS

show :: CTypeclass -> String

showList :: [CTypeclass] -> ShowS

Eq CTypeclass Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

(==) :: CTypeclass -> CTypeclass -> Bool

(/=) :: CTypeclass -> CTypeclass -> Bool

Ord CTypeclass Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

HasPosition CTypeclass Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Pretty CTypeclass Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

pPrintPrec :: PrettyLevel -> Rational -> CTypeclass -> Doc

pPrint :: CTypeclass -> Doc

pPrintList :: PrettyLevel -> [CTypeclass] -> Doc

data CPred Source #

Representation of the provisos and other class constraints

Constructors

CPred 

Fields

Instances

Instances details
Show CPred Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

showsPrec :: Int -> CPred -> ShowS

show :: CPred -> String

showList :: [CPred] -> ShowS

Eq CPred Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

(==) :: CPred -> CPred -> Bool

(/=) :: CPred -> CPred -> Bool

Ord CPred Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

compare :: CPred -> CPred -> Ordering

(<) :: CPred -> CPred -> Bool

(<=) :: CPred -> CPred -> Bool

(>) :: CPred -> CPred -> Bool

(>=) :: CPred -> CPred -> Bool

max :: CPred -> CPred -> CPred

min :: CPred -> CPred -> CPred

HasPosition CPred Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Pretty CPred Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

pPrintPrec :: PrettyLevel -> Rational -> CPred -> Doc

pPrint :: CPred -> Doc

pPrintList :: PrettyLevel -> [CPred] -> Doc

data CQType Source #

Constructors

CQType [CPred] CType 

Instances

Instances details
Show CQType Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

showsPrec :: Int -> CQType -> ShowS

show :: CQType -> String

showList :: [CQType] -> ShowS

Eq CQType Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

(==) :: CQType -> CQType -> Bool

(/=) :: CQType -> CQType -> Bool

Ord CQType Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

compare :: CQType -> CQType -> Ordering

(<) :: CQType -> CQType -> Bool

(<=) :: CQType -> CQType -> Bool

(>) :: CQType -> CQType -> Bool

(>=) :: CQType -> CQType -> Bool

max :: CQType -> CQType -> CQType

min :: CQType -> CQType -> CQType

HasPosition CQType Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Pretty CQType Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Methods

pPrintPrec :: PrettyLevel -> Rational -> CQType -> Doc

pPrint :: CQType -> Doc

pPrintList :: PrettyLevel -> [CQType] -> Doc

cTNum :: Integer -> Position -> CType Source #

leftCon :: CType -> Maybe Id Source #