language-bluespec-0.1: An implementation of the Bluespec Haskell AST
Safe HaskellSafe-Inferred
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

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

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

data TISort Source #

Instances

Instances details
Show TISort Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

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

Pretty TISort Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

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

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

data CQType Source #

Constructors

CQType [CPred] CType 

Instances

Instances details
Show CQType Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

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

HasPosition CQType Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type

Pretty CQType Source # 
Instance details

Defined in Language.Bluespec.Classic.AST.Type