ajhc-0.8.0.5: Haskell compiler that produce binary through C language

Safe HaskellNone

FrontEnd.Representation

Synopsis

Documentation

data Type Source

Constructors

TVar 

Fields

typeVar :: !Tyvar
 
TCon 

Fields

typeCon :: !Tycon
 
TAp Type Type 
TArrow Type Type 
TForAll 

Fields

typeArgs :: [Tyvar]
 
typeBody :: Qual Type
 
TExists 

Fields

typeArgs :: [Tyvar]
 
typeBody :: Qual Type
 
TMetaVar 

Fields

metaVar :: MetaVar
 
TAssoc 

data Tyvar Source

Constructors

Tyvar 

Fields

tyvarName :: !Name
 
tyvarKind :: Kind
 

data Tycon Source

Constructors

Tycon 

Fields

tyconName :: Name
 
tyconKind :: Kind
 

data Pred Source

Constructors

IsIn Class Type 
IsEq Type Type 

data Qual t Source

Constructors

[Pred] :=> t 

Instances

Eq t => Eq (Qual t) 
Ord t => Ord (Qual t) 
Show t => Show (Qual t) 
Binary t => Binary (Qual t) 
UnVar t => UnVar (Qual t) 

data MetaVar Source

metavars are used in type checking

Constructors

MetaVar 

tArrow :: TypeSource

The (->) type constructor. Invariant: tArrow shall not be fully applied. To this end, see tAp.

tAp :: Type -> Type -> TypeSource

Type application, enforcing the invariant that there be no fully-applied tArrows