ghc-7.4.2: The GHC API

Safe Haskell | None

IfaceType

# Documentation

type IfExtName = Name

type IfLclName = FastString

type IfIPName = FastString

data IfaceType

Constructors

IfaceTyVar IfLclName |
IfaceAppTy IfaceType IfaceType |
IfaceFunTy IfaceType IfaceType |
IfaceForAllTy IfaceTvBndr IfaceType |
IfaceTyConApp IfaceTyCon [IfaceType] |
IfaceCoConApp IfaceCoCon [IfaceType] |

Instances

Outputable IfaceType |
Binary IfaceType |

type IfacePredType = IfaceType

type IfaceKind = IfaceType

data IfaceTyCon

Constructors

IfaceTc IfExtName |
IfaceIntTc |
IfaceBoolTc |
IfaceCharTc |
IfaceListTc |
IfacePArrTc |
IfaceTupTc TupleSort Arity |
IfaceIPTc IfIPName |
IfaceLiftedTypeKindTc |
IfaceOpenTypeKindTc |
IfaceUnliftedTypeKindTc |
IfaceUbxTupleKindTc |
IfaceArgTypeKindTc |
IfaceConstraintKindTc |
IfaceSuperKindTc |

Instances

Outputable IfaceTyCon |
Binary IfaceTyCon |

data IfaceCoCon

Constructors

IfaceCoAx IfExtName |
IfaceIPCoAx FastString |
IfaceReflCo |
IfaceUnsafeCo |
IfaceSymCo |
IfaceTransCo |
IfaceInstCo |
IfaceNthCo Int |

Instances

Outputable IfaceCoCon |
Binary IfaceCoCon |

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 -> Name

toIfaceType :: Type -> IfaceType

toIfaceKind :: Type -> IfaceType

toIfaceContext :: ThetaType -> IfaceContext

toIfaceBndr :: Var -> IfaceBndr

toIfaceIdBndr :: Id -> (IfLclName, IfaceType)

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

toIfaceTyCon :: TyCon -> IfaceTyCon

toIfaceTyCon_name :: Name -> IfaceTyCon

coToIfaceType :: Coercion -> IfaceType

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