ghc-7.0.2: The GHC API

HsTypes

Documentation

type LHsType name = Located (HsType name)

data HsTyVarBndr name

Constructors

UserTyVar name PostTcKind 
KindedTyVar name Kind 

Instances

type LHsTyVarBndr name = Located (HsTyVarBndr name)

type HsContext name = [LHsPred name]

type LHsContext name = Located (HsContext name)

data HsPred name

Constructors

HsClassP name [LHsType name] 
HsEqualP (LHsType name) (LHsType name) 
HsIParam (IPName name) (LHsType name) 

Instances

Typeable1 HsPred 
Data name => Data (HsPred name) 
OutputableBndr name => Outputable (HsPred name) 

type LHsPred name = Located (HsPred name)

type LBangType name = Located (BangType name)

type BangType name = HsType name

data ConDeclField name

Instances

mkExplicitHsForAllTy :: [LHsTyVarBndr name] -> LHsContext name -> LHsType name -> HsType name

hsExplicitTvs :: LHsType name -> [name]

hsTyVarName :: HsTyVarBndr name -> name

hsTyVarNames :: [HsTyVarBndr name] -> [name]

replaceTyVarName :: HsTyVarBndr name1 -> name2 -> HsTyVarBndr name2

hsTyVarNameKind :: HsTyVarBndr name -> (name, Kind)

hsLTyVarName :: LHsTyVarBndr name -> name

hsLTyVarNames :: [LHsTyVarBndr name] -> [name]

splitHsInstDeclTy :: OutputableBndr name => HsType name -> ([LHsTyVarBndr name], HsContext name, name, [LHsType name])

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