ghc-lib-parser-9.10.1.20250103: The GHC API, decoupled from GHC versions

Safe Haskell | Ignore
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 #

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 #

# Types

toIfaceType :: Type -> IfaceType #

toIfaceTypeX :: VarSet -> Type -> IfaceType #

toIfaceKind :: Type -> IfaceType #

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

toIfaceTyCon :: TyCon -> IfaceTyCon #

toIfaceTyCon_name :: Name -> IfaceTyCon #

toIfaceTyLit :: TyLit -> IfaceTyLit #

# Tidying types

tidyToIfaceType :: TidyEnv -> Type -> IfaceType #

tidyToIfaceContext :: TidyEnv -> ThetaType -> IfaceContext #

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

# Coercions

toIfaceCoercion :: Coercion -> IfaceCoercion #

toIfaceCoercionX :: VarSet -> Coercion -> IfaceCoercion #

# Pattern synonyms

patSynToIfaceDecl :: PatSyn -> IfaceDecl #

# Expressions

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 #

# Other stuff

toIfaceLFInfo :: Name -> LambdaFormInfo -> IfaceLFInfo #

# CgBreakInfo

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