ghc-7.4.2: The GHC API

Safe HaskellNone

HsTypes

Documentation

type LHsType name = Located (HsType name)

type HsKind name = HsType name

type LHsKind name = Located (HsKind name)

data HsTyVarBndr name

Constructors

UserTyVar name PostTcKind 
KindedTyVar name (LHsKind name) PostTcKind 

Instances

type LHsTyVarBndr name = Located (HsTyVarBndr name)

type HsContext name = [LHsType name]

type LHsContext name = Located (HsContext name)

data HsTyWrapper

Constructors

WpKiApps [Kind] 

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 :: Monad m => HsTyVarBndr name1 -> name2 -> (LHsKind name1 -> m (LHsKind name2)) -> m (HsTyVarBndr name2)

replaceLTyVarName :: Monad m => LHsTyVarBndr name1 -> name2 -> (LHsKind name1 -> m (LHsKind name2)) -> m (LHsTyVarBndr name2)

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

hsLTyVarName :: LHsTyVarBndr name -> name

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

splitHsInstDeclTy_maybe :: HsType name -> Maybe ([LHsTyVarBndr name], HsContext name, name, [LHsType name])

splitHsForAllTy :: HsType name -> ([LHsTyVarBndr name], HsContext name, HsType name)

splitLHsForAllTy :: LHsType name -> ([LHsTyVarBndr name], HsContext name, LHsType 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