Safe Haskell | Safe |
---|---|
Language | Haskell98 |
- type family GTAnnot l
- type family GTBindVar l
- type family GTBoundVar l
- type family GTBindCon l
- type family GTBoundCon l
- type family GTPrim l
- data GType l
- data GTyCon l
- = TyConVoid
- | TyConUnit
- | TyConFun
- | TyConUnion !(GType l)
- | TyConBot !(GType l)
- | TyConForall !(GType l)
- | TyConExists !(GType l)
- | TyConPrim !(GTPrim l)
- | TyConBound !(GTBoundCon l)
- pattern TApp2 :: forall t. GType t -> GType t -> GType t -> GType t
- pattern TApp3 :: forall t. GType t -> GType t -> GType t -> GType t -> GType t
- pattern TApp4 :: forall t. GType t -> GType t -> GType t -> GType t -> GType t -> GType t
- pattern TApp5 :: forall t. GType t -> GType t -> GType t -> GType t -> GType t -> GType t -> GType t
- pattern TVoid :: forall t. GType t
- pattern TUnit :: forall t. GType t
- pattern TFun :: forall t. GType t -> GType t -> GType t
- pattern TBot :: forall t. GType t -> GType t
- pattern TUnion :: forall t. GType t -> GType t -> GType t -> GType t
- pattern TPrim :: forall t. GTPrim t -> GType t
- type ShowGType l = (Show l, Show (GTAnnot l), Show (GTBindVar l), Show (GTBoundVar l), Show (GTBindCon l), Show (GTBoundCon l), Show (GTPrim l))
Type Families
type family GTBoundVar l Source #
Yield the type of bound occurrences of variables.
type GTBoundVar Flat Source # | |
type family GTBoundCon l Source #
Yield the type of bound occurrences of constructors.
type GTBoundCon Flat Source # | |
Abstract Syntax
Generic type expression representation.
Wrapper for primitive constructors that adds the ones common to SystemFω based languages.
TyConVoid | The void constructor. |
TyConUnit | The unit constructor. |
TyConFun | The function constructor. |
TyConUnion !(GType l) | Take the least upper bound at the given kind. |
TyConBot !(GType l) | The least element of the given kind. |
TyConForall !(GType l) | The universal quantifier with a parameter of the given kind. |
TyConExists !(GType l) | The existential quantifier with a parameter of the given kind. |
TyConPrim !(GTPrim l) | Primitive constructor. |
TyConBound !(GTBoundCon l) | Bound constructor. |
Syntactic Sugar
pattern TApp2 :: forall t. GType t -> GType t -> GType t -> GType t Source #
Applcation of a type to two arguments.
pattern TApp3 :: forall t. GType t -> GType t -> GType t -> GType t -> GType t Source #
Applcation of a type to three arguments.
pattern TApp4 :: forall t. GType t -> GType t -> GType t -> GType t -> GType t -> GType t Source #
Applcation of a type to four arguments.
pattern TApp5 :: forall t. GType t -> GType t -> GType t -> GType t -> GType t -> GType t -> GType t Source #
Applcation of a type to five arguments.
pattern TFun :: forall t. GType t -> GType t -> GType t Source #
Representation of the function type.
pattern TBot :: forall t. GType t -> GType t Source #
Representation of the bottom type at a given kind.
pattern TUnion :: forall t. GType t -> GType t -> GType t -> GType t Source #
Representation of a union of two types.
pattern TPrim :: forall t. GTPrim t -> GType t Source #
Representation of primitive type constructors.