IfaceType

ghc-7.0.4: The GHC API

IfaceType

# Documentation

type IfExtName = Name

type IfLclName = FastString

data IfaceType

Constructors

IfaceTyVar IfLclName |
IfaceAppTy IfaceType IfaceType |
IfaceForAllTy IfaceTvBndr IfaceType |
IfacePredTy IfacePredType |
IfaceTyConApp IfaceTyCon [IfaceType] |
IfaceFunTy IfaceType IfaceType |

Instances

Outputable IfaceType |
Binary IfaceType |

type IfaceKind = IfaceType

data IfacePredType

Constructors

IfaceClassP IfExtName [IfaceType] |
IfaceIParam (IPName OccName) IfaceType |
IfaceEqPred IfaceType IfaceType |

Instances

Outputable IfacePredType |
Binary IfacePredType |

data IfaceTyCon

Constructors

IfaceTc IfExtName |
IfaceIntTc |
IfaceBoolTc |
IfaceCharTc |
IfaceListTc |
IfacePArrTc |
IfaceTupTc Boxity Arity |
IfaceAnyTc IfaceKind |
IfaceLiftedTypeKindTc |
IfaceOpenTypeKindTc |
IfaceUnliftedTypeKindTc |
IfaceUbxTupleKindTc |
IfaceArgTypeKindTc |

Instances

Outputable IfaceTyCon |
Binary IfaceTyCon |

type IfaceContext = [IfacePredType]

data IfaceBndr

Constructors

IfaceIdBndr !IfaceIdBndr |
IfaceTvBndr !IfaceTvBndr |

Instances

Outputable IfaceBndr |
Binary IfaceBndr |

type IfaceTvBndr = (IfLclName, IfaceKind)

type IfaceIdBndr = (IfLclName, IfaceType)

type IfaceCoercion = IfaceType

ifaceTyConName :: IfaceTyCon -> IfExtName

toIfaceType :: Type -> IfaceType

toIfacePred :: PredType -> IfacePredType

toIfaceContext :: ThetaType -> IfaceContext

toIfaceBndr :: Var -> IfaceBndr

toIfaceIdBndr :: Id -> (IfLclName, IfaceType)

toIfaceTvBndrs :: [TyVar] -> [(IfLclName, IfaceType)]

toIfaceTyCon :: TyCon -> IfaceTyCon

toIfaceTyCon_name :: Name -> IfaceTyCon

pprIfaceType :: IfaceType -> SDoc

pprParendIfaceType :: IfaceType -> SDoc

pprIfaceContext :: IfaceContext -> SDoc

pprIfaceIdBndr :: (IfLclName, IfaceType) -> SDoc

pprIfaceTvBndr :: IfaceTvBndr -> SDoc

pprIfaceTvBndrs :: [IfaceTvBndr] -> SDoc

pprIfaceBndrs :: [IfaceBndr] -> SDoc

tOP_PREC :: Int

tYCON_PREC :: Int

noParens :: SDoc -> SDoc

maybeParen :: Int -> Int -> SDoc -> SDoc

pprIfaceForAllPart :: [IfaceTvBndr] -> IfaceContext -> SDoc -> SDoc