Safe Haskell | None |
---|---|
Language | Haskell2010 |
IfaceType
Documentation
type IfLclName = FastString
data IfaceType
Constructors
Instances
type IfacePredType = IfaceType
data IfaceTyCon
Constructors
IfaceTc | |
Fields | |
IfacePromotedDataCon | |
Fields | |
IfacePromotedTyCon | |
Fields |
Instances
data IfaceCoercion
Constructors
Instances
data IfaceTcArgs
Constructors
ITC_Nil | |
ITC_Type IfaceType IfaceTcArgs | |
ITC_Kind IfaceKind IfaceTcArgs |
Instances
type IfaceContext = [IfacePredType]
type IfaceLamBndr = (IfaceBndr, IfaceOneShot)
type IfaceTvBndr = (IfLclName, IfaceKind)
type IfaceIdBndr = (IfLclName, IfaceType)
toIfaceType :: Type -> IfaceType
toIfaceTypes :: [Type] -> [IfaceType]
toIfaceKind :: Type -> IfaceType
toIfaceTyVar :: TyVar -> FastString
toIfaceBndr :: Var -> IfaceBndr
toIfaceIdBndr :: Id -> (IfLclName, IfaceType)
toIfaceTvBndrs :: [TyVar] -> [(IfLclName, IfaceType)]
toIfaceTyCon :: TyCon -> IfaceTyCon
toIfaceTyCon_name :: Name -> IfaceTyCon
toIfaceTcArgs :: TyCon -> [Type] -> IfaceTcArgs
tcArgsIfaceTypes :: IfaceTcArgs -> [IfaceType]
pprIfaceType :: IfaceType -> SDoc
pprParendIfaceType :: IfaceType -> SDoc
pprIfaceContext :: Outputable a => [a] -> SDoc
pprIfaceContextArr :: Outputable a => [a] -> SDoc
pprIfaceContextMaybe :: Outputable a => [a] -> Maybe SDoc
pprIfaceIdBndr :: (IfLclName, IfaceType) -> SDoc
pprIfaceLamBndr :: IfaceLamBndr -> SDoc
pprIfaceTvBndr :: IfaceTvBndr -> SDoc
pprIfaceTvBndrs :: [IfaceTvBndr] -> SDoc
pprIfaceBndrs :: [IfaceBndr] -> SDoc
pprIfaceTcArgs :: IfaceTcArgs -> SDoc
pprIfaceForAllPart :: Outputable a => [IfaceTvBndr] -> [a] -> SDoc -> SDoc
pprIfaceForAll :: [IfaceTvBndr] -> SDoc
pprIfaceSigmaType :: IfaceType -> SDoc
splitIfaceSigmaTy :: IfaceType -> ([IfaceTvBndr], [IfacePredType], IfaceType)
pprIfaceTypeApp :: IfaceTyCon -> IfaceTcArgs -> SDoc
pprUserIfaceForAll :: [IfaceTvBndr] -> SDoc
suppressIfaceKinds :: DynFlags -> [IfaceTvBndr] -> [a] -> [a]
stripIfaceKindVars :: DynFlags -> [IfaceTvBndr] -> [IfaceTvBndr]
stripKindArgs :: DynFlags -> IfaceTcArgs -> IfaceTcArgs
substIfaceType :: IfaceTySubst -> IfaceType -> IfaceType
substIfaceTyVar :: IfaceTySubst -> IfLclName -> IfaceType
substIfaceTcArgs :: IfaceTySubst -> IfaceTcArgs -> IfaceTcArgs
mkIfaceTySubst :: [IfaceTvBndr] -> [IfaceType] -> IfaceTySubst