Safe Haskell | None |
---|---|
Language | GHC2021 |
Synopsis
- data HsExprArg (p :: TcPass)
- data EValArg (p :: TcPass) where
- data TcPass
- data AppCtxt
- appCtxtLoc :: AppCtxt -> SrcSpan
- insideExpansion :: AppCtxt -> Bool
- splitHsApps :: HsExpr GhcRn -> TcM ((HsExpr GhcRn, AppCtxt), [HsExprArg 'TcpRn])
- rebuildHsApps :: HsExpr GhcTc -> AppCtxt -> [HsExprArg 'TcpTc] -> TcRhoType -> TcM (HsExpr GhcTc)
- addArgWrap :: forall (p :: TcPass). HsWrapper -> [HsExprArg p] -> [HsExprArg p]
- isHsValArg :: forall (id :: TcPass). HsExprArg id -> Bool
- leadingValArgs :: forall (id :: TcPass). [HsExprArg id] -> [EValArg id]
- isVisibleArg :: forall (id :: TcPass). HsExprArg id -> Bool
- pprHsExprArgTc :: HsExprArg 'TcpInst -> SDoc
- tcInferAppHead :: (HsExpr GhcRn, AppCtxt) -> TcM (HsExpr GhcTc, TcSigmaType)
- tcInferAppHead_maybe :: HsExpr GhcRn -> TcM (Maybe (HsExpr GhcTc, TcSigmaType))
- tcInferId :: Name -> TcM (HsExpr GhcTc, TcSigmaType)
- tcCheckId :: Name -> ExpRhoType -> TcM (HsExpr GhcTc)
- obviousSig :: HsExpr GhcRn -> Maybe (LHsSigWcType GhcRn)
- tyConOf :: FamInstEnvs -> TcSigmaType -> Maybe TyCon
- tyConOfET :: FamInstEnvs -> ExpRhoType -> Maybe TyCon
- fieldNotInType :: RecSelParent -> RdrName -> TcRnMessage
- nonBidirectionalErr :: Name -> TcRnMessage
- addHeadCtxt :: AppCtxt -> TcM a -> TcM a
- addExprCtxt :: HsExpr GhcRn -> TcRn a -> TcRn a
- addStmtCtxt :: ExprStmt GhcRn -> TcRn a -> TcRn a
- addFunResCtxt :: HsExpr GhcRn -> [HsExprArg 'TcpRn] -> TcType -> ExpRhoType -> TcM a -> TcM a
Documentation
data HsExprArg (p :: TcPass) Source #
EValArg | |
| |
ETypeArg | |
EPrag AppCtxt (HsPragE (GhcPass (XPass p))) | |
EWrap EWrap |
Instances
OutputableBndrId (XPass p) => Outputable (HsExprArg p) Source # | |
data EValArg (p :: TcPass) where Source #
Instances
OutputableBndrId (XPass p) => Outputable (EValArg p) Source # | |
Instances
appCtxtLoc :: AppCtxt -> SrcSpan Source #
insideExpansion :: AppCtxt -> Bool Source #
:: HsExpr GhcTc | the function being applied |
-> AppCtxt | |
-> [HsExprArg 'TcpTc] | the arguments to the function |
-> TcRhoType | result type of the application |
-> TcM (HsExpr GhcTc) |
Rebuild an application: takes a type-checked application head
expression together with arguments in the form of typechecked HsExprArg
s
and returns a typechecked application of the head to the arguments.
This performs a representation-polymorphism check to ensure that representation-polymorphic unlifted newtypes have been eta-expanded.
See Note [Eta-expanding rep-poly unlifted newtypes].
tcInferAppHead :: (HsExpr GhcRn, AppCtxt) -> TcM (HsExpr GhcTc, TcSigmaType) Source #
tcInferAppHead_maybe :: HsExpr GhcRn -> TcM (Maybe (HsExpr GhcTc, TcSigmaType)) Source #
obviousSig :: HsExpr GhcRn -> Maybe (LHsSigWcType GhcRn) Source #
tyConOf :: FamInstEnvs -> TcSigmaType -> Maybe TyCon Source #
tyConOfET :: FamInstEnvs -> ExpRhoType -> Maybe TyCon Source #
fieldNotInType :: RecSelParent -> RdrName -> TcRnMessage Source #