GHC.CoreToIface

ghc-9.10.0.20240328: The GHC API

Safe Haskell | None
Language | GHC2021

GHC.CoreToIface

Contents

- Binders
- Types
- Tidying types
- Coercions
- Pattern synonyms
- Expressions
- Other stuff
- CgBreakInfo

Description

Functions for converting Core things to interface file things.

Synopsis

- toIfaceTvBndr :: TyVar -> IfaceTvBndr
- toIfaceTvBndrs :: [TyVar] -> [IfaceTvBndr]
- toIfaceIdBndr :: Id -> IfaceIdBndr
- toIfaceBndr :: Var -> IfaceBndr
- toIfaceTopBndr :: Id -> IfaceTopBndrInfo
- toIfaceForAllBndr :: VarBndr TyCoVar flag -> VarBndr IfaceBndr flag
- toIfaceForAllBndrs :: [VarBndr TyCoVar vis] -> [VarBndr IfaceBndr vis]
- toIfaceTyVar :: TyVar -> FastString
- toIfaceType :: Type -> IfaceType
- toIfaceTypeX :: VarSet -> Type -> IfaceType
- toIfaceKind :: Type -> IfaceType
- toIfaceTcArgs :: TyCon -> [Type] -> IfaceAppArgs
- toIfaceTyCon :: TyCon -> IfaceTyCon
- toIfaceTyCon_name :: Name -> IfaceTyCon
- toIfaceTyLit :: TyLit -> IfaceTyLit
- tidyToIfaceType :: TidyEnv -> Type -> IfaceType
- tidyToIfaceContext :: TidyEnv -> ThetaType -> IfaceContext
- tidyToIfaceTcArgs :: TidyEnv -> TyCon -> [Type] -> IfaceAppArgs
- toIfaceCoercion :: Coercion -> IfaceCoercion
- toIfaceCoercionX :: VarSet -> Coercion -> IfaceCoercion
- patSynToIfaceDecl :: PatSyn -> IfaceDecl
- toIfaceExpr :: CoreExpr -> IfaceExpr
- toIfaceBang :: TidyEnv -> HsImplBang -> IfaceBang
- toIfaceSrcBang :: HsSrcBang -> IfaceSrcBang
- toIfaceLetBndr :: Id -> IfaceLetBndr
- toIfaceIdDetails :: IdDetails -> IfaceIdDetails
- toIfaceIdInfo :: IdInfo -> IfaceIdInfo
- toIfUnfolding :: Bool -> Unfolding -> Maybe IfaceInfoItem
- toIfaceTickish :: CoreTickish -> IfaceTickish
- toIfaceBind :: Bind Id -> IfaceBinding IfaceLetBndr
- toIfaceTopBind :: Bind Id -> IfaceBindingX IfaceMaybeRhs IfaceTopBndrInfo
- toIfaceAlt :: CoreAlt -> IfaceAlt
- toIfaceCon :: AltCon -> IfaceConAlt
- toIfaceApp :: Expr CoreBndr -> [Arg CoreBndr] -> IfaceExpr
- toIfaceVar :: Id -> IfaceExpr
- toIfaceLFInfo :: Name -> LambdaFormInfo -> IfaceLFInfo
- dehydrateCgBreakInfo :: [TyVar] -> [Maybe (Id, Word)] -> Type -> CgBreakInfo

# Binders

toIfaceTvBndr :: TyVar -> IfaceTvBndr Source #

toIfaceTvBndrs :: [TyVar] -> [IfaceTvBndr] Source #

toIfaceIdBndr :: Id -> IfaceIdBndr Source #

toIfaceBndr :: Var -> IfaceBndr Source #

toIfaceTopBndr :: Id -> IfaceTopBndrInfo Source #

toIfaceForAllBndr :: VarBndr TyCoVar flag -> VarBndr IfaceBndr flag Source #

toIfaceForAllBndrs :: [VarBndr TyCoVar vis] -> [VarBndr IfaceBndr vis] Source #

toIfaceTyVar :: TyVar -> FastString Source #

# Types

toIfaceType :: Type -> IfaceType Source #

toIfaceTypeX :: VarSet -> Type -> IfaceType Source #

toIfaceKind :: Type -> IfaceType Source #

toIfaceTcArgs :: TyCon -> [Type] -> IfaceAppArgs Source #

toIfaceTyCon :: TyCon -> IfaceTyCon Source #

toIfaceTyCon_name :: Name -> IfaceTyCon Source #

toIfaceTyLit :: TyLit -> IfaceTyLit Source #

# Tidying types

tidyToIfaceType :: TidyEnv -> Type -> IfaceType Source #

tidyToIfaceContext :: TidyEnv -> ThetaType -> IfaceContext Source #

tidyToIfaceTcArgs :: TidyEnv -> TyCon -> [Type] -> IfaceAppArgs Source #

# Coercions

toIfaceCoercion :: Coercion -> IfaceCoercion Source #

toIfaceCoercionX :: VarSet -> Coercion -> IfaceCoercion Source #

# Pattern synonyms

patSynToIfaceDecl :: PatSyn -> IfaceDecl Source #

# Expressions

toIfaceExpr :: CoreExpr -> IfaceExpr Source #

toIfaceBang :: TidyEnv -> HsImplBang -> IfaceBang Source #

toIfaceSrcBang :: HsSrcBang -> IfaceSrcBang Source #

toIfaceLetBndr :: Id -> IfaceLetBndr Source #

toIfaceIdDetails :: IdDetails -> IfaceIdDetails Source #

toIfaceIdInfo :: IdInfo -> IfaceIdInfo Source #

toIfUnfolding :: Bool -> Unfolding -> Maybe IfaceInfoItem Source #

toIfaceTickish :: CoreTickish -> IfaceTickish Source #

toIfaceBind :: Bind Id -> IfaceBinding IfaceLetBndr Source #

toIfaceTopBind :: Bind Id -> IfaceBindingX IfaceMaybeRhs IfaceTopBndrInfo Source #

toIfaceAlt :: CoreAlt -> IfaceAlt Source #

toIfaceCon :: AltCon -> IfaceConAlt Source #

toIfaceApp :: Expr CoreBndr -> [Arg CoreBndr] -> IfaceExpr Source #

toIfaceVar :: Id -> IfaceExpr Source #

# Other stuff

toIfaceLFInfo :: Name -> LambdaFormInfo -> IfaceLFInfo Source #

# CgBreakInfo

dehydrateCgBreakInfo :: [TyVar] -> [Maybe (Id, Word)] -> Type -> CgBreakInfo Source #