GHC.Tc.Utils.Zonk
Specialisations of the HsSyn
syntax for the typechecker
This module is an extension of HsSyn
syntax, for use in the type checker.
Other HsSyn functions
mkHsCaseAlt :: (Anno (GRHS (GhcPass p) (LocatedA (body (GhcPass p)))) ~ SrcAnn NoEpAnns, Anno (Match (GhcPass p) (LocatedA (body (GhcPass p)))) ~ SrcSpanAnnA) => LPat (GhcPass p) -> LocatedA (body (GhcPass p)) -> LMatch (GhcPass p) (LocatedA (body (GhcPass p))) Source #
A simple case alternative with a single pattern, no binds, no guards; pre-typechecking
tcShortCutLit :: HsOverLit GhcRn -> ExpRhoType -> TcM (Maybe (HsOverLit GhcTc)) Source #
shortCutLit :: Platform -> OverLitVal -> TcType -> Maybe (HsExpr GhcTc) Source #
hsOverLitName :: OverLitVal -> Name Source #
re-exported from TcMonad
Zonking
For a description of "zonking", see Note [What is zonking?] in GHC.Tc.Utils.TcMType
zonkTopDecls :: Bag EvBind -> LHsBinds GhcTc -> [LRuleDecl GhcTc] -> [LTcSpecPrag] -> [LForeignDecl GhcTc] -> TcM (TypeEnv, Bag EvBind, LHsBinds GhcTc, [LForeignDecl GhcTc], [LTcSpecPrag], [LRuleDecl GhcTc]) Source #
See Note [The ZonkEnv] Confused by zonking? See Note [What is zonking?] in GHC.Tc.Utils.TcMType.
Instances
Constructors
DefaultFlexi | |
SkolemiseFlexi | |
RuntimeUnkFlexi | |
NoFlexi |
zonkTyVarBindersX :: ZonkEnv -> [VarBndr TcTyVar vis] -> TcM (ZonkEnv, [VarBndr TyVar vis]) Source #
zonkTyVarOcc :: HasDebugCallStack => ZonkEnv -> TcTyVar -> TcM Type Source #
zonkTcMethInfoToMethInfoX :: ZonkEnv -> TcMethInfo -> TcM MethInfo Source #