IfaceType

ghc-7.6.3: The GHC API

Safe Haskell | None

IfaceType

# Documentation

type IfExtName = Name

type IfLclName = FastString

data IfaceType

Constructors

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

Instances

Outputable IfaceType |
Binary IfaceType |

type IfacePredType = IfaceType

type IfaceKind = IfaceType

newtype IfaceTyCon

Constructors

IfaceTc |
Fields ifaceTyConName :: IfExtName

Instances

Outputable IfaceTyCon |
Binary IfaceTyCon |

data IfaceCoCon

Constructors

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

Instances

Outputable IfaceCoCon |
Binary IfaceCoCon |

data IfaceTyLit

Constructors

IfaceNumTyLit Integer |
IfaceStrTyLit FastString |

Instances

Outputable IfaceTyLit |
Binary IfaceTyLit |

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

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