IfaceType
Documentation
type IfLclName = FastString
data IfaceType
Constructors
IfaceTyVar IfLclName | |
IfaceAppTy IfaceType IfaceType | |
IfaceForAllTy IfaceTvBndr IfaceType | |
IfacePredTy IfacePredType | |
IfaceTyConApp IfaceTyCon [IfaceType] | |
IfaceFunTy IfaceType IfaceType |
Instances
data IfacePredType
Constructors
IfaceClassP IfExtName [IfaceType] | |
IfaceIParam (IPName OccName) IfaceType | |
IfaceEqPred IfaceType IfaceType |
Instances
data IfaceTyCon
Constructors
Instances
type IfaceContext = [IfacePredType]
type IfaceTvBndr = (IfLclName, IfaceKind)
type IfaceIdBndr = (IfLclName, IfaceType)
type IfaceCoercion = IfaceType
toIfaceType :: Type -> IfaceType
toIfacePred :: PredType -> IfacePredType
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
tYCON_PREC :: Int
maybeParen :: Int -> Int -> SDoc -> SDoc
pprIfaceForAllPart :: [IfaceTvBndr] -> IfaceContext -> SDoc -> SDoc