ToIface

ghc-8.4.4: The GHC API

Safe Haskell | None
Language | Haskell2010

ToIface

Contents

- Binders
- Types
- Tidying types
- Coercions
- Pattern synonyms
- Expressions

Description

Functions for converting Core things to interface file things.

Synopsis

- toIfaceTvBndr :: TyVar -> IfaceTvBndr
- toIfaceTvBndrs :: [TyVar] -> [IfaceTvBndr]
- toIfaceIdBndr :: Id -> (IfLclName, IfaceType)
- toIfaceBndr :: Var -> IfaceBndr
- toIfaceForAllBndr :: TyVarBinder -> IfaceForAllBndr
- toIfaceTyVarBinders :: [TyVarBndr TyVar vis] -> [TyVarBndr IfaceTvBndr vis]
- toIfaceTyVar :: TyVar -> FastString
- toIfaceType :: Type -> IfaceType
- toIfaceTypeX :: VarSet -> Type -> IfaceType
- toIfaceKind :: Type -> IfaceType
- toIfaceTcArgs :: TyCon -> [Type] -> IfaceTcArgs
- toIfaceTyCon :: TyCon -> IfaceTyCon
- toIfaceTyCon_name :: Name -> IfaceTyCon
- toIfaceTyLit :: TyLit -> IfaceTyLit
- tidyToIfaceType :: TidyEnv -> Type -> IfaceType
- tidyToIfaceContext :: TidyEnv -> ThetaType -> IfaceContext
- tidyToIfaceTcArgs :: TidyEnv -> TyCon -> [Type] -> IfaceTcArgs
- 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
- toIfaceOneShot :: Id -> IfaceOneShot
- toIfaceTickish :: Tickish Id -> Maybe IfaceTickish
- toIfaceBind :: Bind Id -> IfaceBinding
- toIfaceAlt :: (AltCon, [Var], CoreExpr) -> (IfaceConAlt, [FastString], IfaceExpr)
- toIfaceCon :: AltCon -> IfaceConAlt
- toIfaceApp :: Expr CoreBndr -> [Arg CoreBndr] -> IfaceExpr
- toIfaceVar :: Id -> IfaceExpr

# Binders

toIfaceTvBndr :: TyVar -> IfaceTvBndr #

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

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

toIfaceBndr :: Var -> IfaceBndr #

toIfaceForAllBndr :: TyVarBinder -> IfaceForAllBndr #

toIfaceTyVarBinders :: [TyVarBndr TyVar vis] -> [TyVarBndr IfaceTvBndr vis] #

toIfaceTyVar :: TyVar -> FastString #

# Types

toIfaceType :: Type -> IfaceType #

toIfaceTypeX :: VarSet -> Type -> IfaceType #

toIfaceKind :: Type -> IfaceType #

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

toIfaceTyCon :: TyCon -> IfaceTyCon #

toIfaceTyCon_name :: Name -> IfaceTyCon #

toIfaceTyLit :: TyLit -> IfaceTyLit #

# Tidying types

tidyToIfaceType :: TidyEnv -> Type -> IfaceType #

tidyToIfaceContext :: TidyEnv -> ThetaType -> IfaceContext #

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

# 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 #

toIfaceOneShot :: Id -> IfaceOneShot #

toIfaceTickish :: Tickish Id -> Maybe IfaceTickish #

toIfaceBind :: Bind Id -> IfaceBinding #

toIfaceAlt :: (AltCon, [Var], CoreExpr) -> (IfaceConAlt, [FastString], IfaceExpr) #

toIfaceCon :: AltCon -> IfaceConAlt #

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

toIfaceVar :: Id -> IfaceExpr #