ghc-7.8.20140130: The GHC API

Safe HaskellNone
LanguageHaskell98

HsTypes

Synopsis

Documentation

type LHsType name = Located (HsType name)Source

type HsKind name = HsType nameSource

type LHsKind name = Located (HsKind name)Source

data HsTyVarBndr nameSource

Constructors

UserTyVar name 
KindedTyVar name (LHsKind name) 

Instances

Data name => Data (HsTyVarBndr name) 
OutputableBndr name => Outputable (HsTyVarBndr name) 
Typeable (* -> *) HsTyVarBndr 

data LHsTyVarBndrs nameSource

Constructors

HsQTvs 

Fields

hsq_kvs :: [Name]
 
hsq_tvs :: [LHsTyVarBndr name]
 

Instances

data HsWithBndrs thingSource

Constructors

HsWB 

Fields

hswb_cts :: thing
 
hswb_kvs :: [Name]
 
hswb_tvs :: [Name]
 

Instances

Data thing => Data (HsWithBndrs thing) 
Outputable thing => Outputable (HsWithBndrs thing) 
Typeable (* -> *) HsWithBndrs 

type HsContext name = [LHsType name]Source

newtype HsIPNameSource

These names are used eary on to store the names of implicit parameters. They completely disappear after type-checking.

Constructors

HsIPName FastString 

type LBangType name = Located (BangType name)Source

type BangType name = HsType nameSource

data ConDeclField nameSource

Instances

Data name => Data (ConDeclField name) 
Typeable (* -> *) ConDeclField 

splitHsFunType :: LHsType name -> ([LHsType name], LHsType name)Source

mkHsOpTy :: LHsType name -> Located name -> LHsType name -> HsType nameSource