ghc-7.8.2: The GHC API

Safe HaskellNone
LanguageHaskell98

HsTypes

Synopsis

Documentation

type LHsType name = Located (HsType name) Source

type HsKind name = HsType name Source

type LHsKind name = Located (HsKind name) Source

data HsTyVarBndr name Source

Constructors

UserTyVar name 
KindedTyVar name (LHsKind name) 

Instances

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

data LHsTyVarBndrs name Source

Constructors

HsQTvs 

Fields

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

Instances

data HsWithBndrs thing Source

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

type LHsContext name = Located (HsContext name) Source

newtype HsIPName Source

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 name Source

data ConDeclField name Source

Instances

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

mkHsWithBndrs :: thing -> HsWithBndrs thing Source

splitHsClassTy_maybe :: HsType name -> Maybe (name, [LHsType name]) Source

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

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