ghc-7.6.1: The GHC API

Safe HaskellNone

HsTypes

Synopsis

Documentation

type LHsType name = Located (HsType name)

type HsKind name = HsType name

type LHsKind name = Located (HsKind name)

data HsTyVarBndr name

Constructors

UserTyVar name 
KindedTyVar name (LHsKind name) 

Instances

type LHsTyVarBndr name = Located (HsTyVarBndr name)

data LHsTyVarBndrs name

Constructors

HsQTvs 

Fields

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

data HsWithBndrs thing

Constructors

HsWB 

Fields

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

Instances

type HsContext name = [LHsType name]

type LHsContext name = Located (HsContext name)

data HsTyWrapper

Constructors

WpKiApps [Kind] 

newtype HsIPName

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)

type BangType name = HsType name

data ConDeclField name

Instances

hsExplicitTvs :: LHsType name -> [name]

hsTyVarName :: HsTyVarBndr name -> name

mkHsWithBndrs :: thing -> HsWithBndrs thing

hsLTyVarName :: LHsTyVarBndr name -> name

hsLTyVarNames :: LHsTyVarBndrs name -> [name]

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

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

splitHsAppTys :: LHsType n -> [LHsType n] -> (LHsType n, [LHsType n])

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