ghc-lib-8.10.7.20220219: The GHC API, decoupled from GHC versions
Safe HaskellNone
LanguageHaskell2010

Inst

Synopsis

Documentation

topInstantiate :: CtOrigin -> TcSigmaType -> TcM (HsWrapper, TcRhoType) Source #

Instantiate all outer type variables and any context. Never looks through arrows.

topInstantiateInferred :: CtOrigin -> TcSigmaType -> TcM (HsWrapper, TcSigmaType) Source #

Instantiate all outer Inferred binders and any context. Never looks through arrows or specified type variables. Used for visible type application.

tcInstInvisibleTyBinders :: Int -> TcKind -> TcM ([TcType], TcKind) Source #

Instantiates up to n invisible binders Returns the instantiating types, and body kind

newMethodFromName Source #

Arguments

:: CtOrigin

why do we need this?

-> Name

name of the method

-> [TcRhoType]

types with which to instantiate the class

-> TcM (HsExpr GhcTcId) 

Used when Name is the wired-in name for a wired-in class method, so the caller knows its type for sure, which should be of form

forall a. C a => <blah>

newMethodFromName is supposed to instantiate just the outer type variable and constraint

tcSyntaxName Source #

Arguments

:: CtOrigin 
-> TcType

Type to instantiate it at

-> (Name, HsExpr GhcRn)

(Standard name, user name)

-> TcM (Name, HsExpr GhcTcId)

(Standard name, suitable expression) USED ONLY FOR CmdTop (sigh) *** See Note [CmdSyntaxTable] in GHC.Hs.Expr

tyCoVarsOfWC :: WantedConstraints -> TyCoVarSet #

Returns free variables of WantedConstraints as a non-deterministic set. See Note [Deterministic FV] in FV.

tyCoVarsOfCt :: Ct -> TcTyCoVarSet #

Returns free variables of constraints as a non-deterministic set

tyCoVarsOfCts :: Cts -> TcTyCoVarSet #

Returns free variables of a bag of constraints as a non-deterministic set. See Note [Deterministic FV] in FV.