Safe Haskell | None |
---|---|
Language | GHC2021 |
GHC.Tc.Zonk.Type
Description
Final zonking to Type
. See Note [Zonking to Type].
Distinct from the intra-typechecker zonking in GHC.Tc.Zonk.TcType; see Note [Module structure for zonking].
Synopsis
- type ZonkTcM = ZonkT TcM
- zonkTopDecls :: Bag EvBind -> LHsBinds GhcTc -> [LRuleDecl GhcTc] -> [LTcSpecPrag] -> [LForeignDecl GhcTc] -> TcM (TypeEnv, Bag EvBind, LHsBinds GhcTc, [LForeignDecl GhcTc], [LTcSpecPrag], [LRuleDecl GhcTc])
- zonkTopExpr :: HsExpr GhcTc -> TcM (HsExpr GhcTc)
- zonkTopLExpr :: LHsExpr GhcTc -> TcM (LHsExpr GhcTc)
- zonkTopBndrs :: [TcId] -> TcM [Id]
- zonkTyVarBindersX :: [VarBndr TcTyVar vis] -> ZonkBndrTcM [VarBndr TyVar vis]
- zonkTyVarBinderX :: VarBndr TcTyVar vis -> ZonkBndrTcM (VarBndr TyVar vis)
- zonkTyBndrX :: TcTyVar -> ZonkBndrTcM TyVar
- zonkTyBndrsX :: [TcTyVar] -> ZonkBndrTcM [TcTyVar]
- zonkTcTypeToType :: TcType -> TcM Type
- zonkTcTypeToTypeX :: TcType -> ZonkTcM Type
- zonkTcTypesToTypesX :: [TcType] -> ZonkTcM [Type]
- zonkScaledTcTypesToTypesX :: [Scaled TcType] -> ZonkTcM [Scaled Type]
- zonkTyVarOcc :: HasDebugCallStack => TcTyVar -> ZonkTcM Type
- zonkCoToCo :: Coercion -> ZonkTcM Coercion
- zonkEvBinds :: Bag EvBind -> ZonkBndrTcM (Bag EvBind)
- zonkTcEvBinds :: TcEvBinds -> ZonkBndrTcM TcEvBinds
- zonkTcMethInfoToMethInfoX :: TcMethInfo -> ZonkTcM MethInfo
- lookupTyVarX :: TcTyVar -> ZonkTcM TyVar
- module GHC.Tc.Zonk.Env
- tcInitTidyEnv :: ZonkM TidyEnv
- tcInitOpenTidyEnv :: [TyCoVar] -> ZonkM TidyEnv
Zonking
For a description of "zonking", see Note [What is zonking?].
type ZonkTcM = ZonkT TcM Source #
Zonking monad for a computation that zonks to Type, reading from a ZonkEnv
but not extending or modifying it.
See Note [Zonking to Type].
zonkTopDecls :: Bag EvBind -> LHsBinds GhcTc -> [LRuleDecl GhcTc] -> [LTcSpecPrag] -> [LForeignDecl GhcTc] -> TcM (TypeEnv, Bag EvBind, LHsBinds GhcTc, [LForeignDecl GhcTc], [LTcSpecPrag], [LRuleDecl GhcTc]) Source #
zonkTyBndrX :: TcTyVar -> ZonkBndrTcM TyVar Source #
zonkTyBndrsX :: [TcTyVar] -> ZonkBndrTcM [TcTyVar] Source #
zonkTcTypeToType :: TcType -> TcM Type Source #
Confused by zonking? See Note [What is zonking?] in GHC.Tc.Zonk.Type.
zonkTyVarOcc :: HasDebugCallStack => TcTyVar -> ZonkTcM Type Source #
zonkTcEvBinds :: TcEvBinds -> ZonkBndrTcM TcEvBinds Source #
ZonkEnv
, and the ZonkT
and ZonkBndrT
monad transformers
module GHC.Tc.Zonk.Env