ToIface

ghc-8.4.0.20180204: 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 Source #

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

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

toIfaceBndr :: Var -> IfaceBndr Source #

toIfaceForAllBndr :: TyVarBinder -> IfaceForAllBndr Source #

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

toIfaceTyVar :: TyVar -> FastString Source #

# Types

toIfaceType :: Type -> IfaceType Source #

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

toIfaceKind :: Type -> IfaceType Source #

toIfaceTcArgs :: TyCon -> [Type] -> IfaceTcArgs 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] -> IfaceTcArgs 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 #

toIfaceOneShot :: Id -> IfaceOneShot Source #

toIfaceTickish :: Tickish Id -> Maybe IfaceTickish Source #

toIfaceBind :: Bind Id -> IfaceBinding Source #

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

toIfaceCon :: AltCon -> IfaceConAlt Source #

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

toIfaceVar :: Id -> IfaceExpr Source #