IfaceType

ghc-7.8.3: The GHC API

Safe Haskell | None
Language | Haskell98

IfaceType

# Documentation

type IfExtName = Name Source

type IfLclName = FastString Source

data IfaceType Source

Constructors

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

Instances

Outputable IfaceType |
Binary IfaceType |

type IfacePredType = IfaceType Source

type IfaceKind = IfaceType Source

newtype IfaceTyCon Source

Constructors

IfaceTc |
Fields ifaceTyConName :: IfExtName

Instances

Outputable IfaceTyCon |
Binary IfaceTyCon |

data IfaceCoercion Source

Constructors

IfaceReflCo Role IfaceType |
IfaceFunCo Role IfaceCoercion IfaceCoercion |
IfaceTyConAppCo Role IfaceTyCon [IfaceCoercion] |
IfaceAppCo IfaceCoercion IfaceCoercion |
IfaceForAllCo IfaceTvBndr IfaceCoercion |
IfaceCoVarCo IfLclName |
IfaceAxiomInstCo IfExtName BranchIndex [IfaceCoercion] |
IfaceUnivCo Role IfaceType IfaceType |
IfaceSymCo IfaceCoercion |
IfaceTransCo IfaceCoercion IfaceCoercion |
IfaceNthCo Int IfaceCoercion |
IfaceLRCo LeftOrRight IfaceCoercion |
IfaceInstCo IfaceCoercion IfaceType |
IfaceSubCo IfaceCoercion |
IfaceAxiomRuleCo IfLclName [IfaceType] [IfaceCoercion] |

Instances

Outputable IfaceCoercion |
Binary IfaceCoercion |

data IfaceTyLit Source

Constructors

IfaceNumTyLit Integer |
IfaceStrTyLit FastString |

Instances

Outputable IfaceTyLit |
Binary IfaceTyLit |

type IfaceContext = [IfacePredType] Source

data IfaceBndr Source

Constructors

IfaceIdBndr !IfaceIdBndr |
IfaceTvBndr !IfaceTvBndr |

Instances

Outputable IfaceBndr |
Binary IfaceBndr |

type IfaceTvBndr = (IfLclName, IfaceKind) Source

type IfaceIdBndr = (IfLclName, IfaceType) Source

toIfaceType :: Type -> IfaceType Source

toIfaceKind :: Type -> IfaceType Source

toIfaceContext :: ThetaType -> IfaceContext Source

toIfaceBndr :: Var -> IfaceBndr Source

toIfaceIdBndr :: Id -> (IfLclName, IfaceType) Source

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

toIfaceTyCon :: TyCon -> IfaceTyCon Source

toIfaceTyCon_name :: Name -> IfaceTyCon Source

toIfaceCoercion :: Coercion -> IfaceCoercion Source

pprIfaceType :: IfaceType -> SDoc Source

pprParendIfaceType :: IfaceType -> SDoc Source

pprIfaceContext :: Outputable a => [a] -> SDoc Source

pprIfaceContextArr :: Outputable a => [a] -> SDoc Source

pprIfaceIdBndr :: (IfLclName, IfaceType) -> SDoc Source

pprIfaceTvBndr :: IfaceTvBndr -> SDoc Source

pprIfaceTvBndrs :: [IfaceTvBndr] -> SDoc Source

pprIfaceBndrs :: [IfaceBndr] -> SDoc Source

tOP_PREC :: Int Source

tYCON_PREC :: Int Source

noParens :: SDoc -> SDoc Source

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

pprIfaceForAllPart :: Outputable a => [IfaceTvBndr] -> [a] -> SDoc -> SDoc Source

pprIfaceCoercion :: IfaceCoercion -> SDoc Source

pprParendIfaceCoercion :: IfaceCoercion -> SDoc Source