Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
GHC.Tc.Gen.Head
Synopsis
- data HsExprArg (p :: TcPass)
- data EValArg (p :: TcPass) where
- data TcPass
- data AppCtxt
- appCtxtLoc :: AppCtxt -> SrcSpan
- insideExpansion :: AppCtxt -> Bool
- splitHsApps :: HsExpr GhcRn -> ((HsExpr GhcRn, AppCtxt), [HsExprArg 'TcpRn])
- rebuildHsApps :: HsExpr GhcTc -> AppCtxt -> [HsExprArg 'TcpTc] -> HsExpr GhcTc
- addArgWrap :: HsWrapper -> [HsExprArg 'TcpInst] -> [HsExprArg 'TcpInst]
- isHsValArg :: HsExprArg id -> Bool
- countLeadingValArgs :: [HsExprArg id] -> Int
- isVisibleArg :: HsExprArg id -> Bool
- pprHsExprArgTc :: HsExprArg 'TcpInst -> SDoc
- tcInferAppHead :: (HsExpr GhcRn, AppCtxt) -> [HsExprArg 'TcpRn] -> Maybe TcRhoType -> TcM (HsExpr GhcTc, TcSigmaType)
- tcInferAppHead_maybe :: HsExpr GhcRn -> [HsExprArg 'TcpRn] -> Maybe TcRhoType -> TcM (Maybe (HsExpr GhcTc, TcSigmaType))
- tcInferId :: Name -> TcM (HsExpr GhcTc, TcSigmaType)
- tcCheckId :: Name -> ExpRhoType -> TcM (HsExpr GhcTc)
- obviousSig :: HsExpr GhcRn -> Maybe (LHsSigWcType GhcRn)
- addAmbiguousNameErr :: RdrName -> TcM ()
- tyConOf :: FamInstEnvs -> TcSigmaType -> Maybe TyCon
- tyConOfET :: FamInstEnvs -> ExpRhoType -> Maybe TyCon
- lookupParents :: Bool -> RdrName -> RnM [(RecSelParent, GlobalRdrElt)]
- fieldNotInType :: RecSelParent -> RdrName -> SDoc
- notSelector :: Name -> SDoc
- nonBidirectionalErr :: Outputable name => name -> SDoc
- addExprCtxt :: HsExpr GhcRn -> TcRn a -> TcRn a
- addFunResCtxt :: HsExpr GhcRn -> [HsExprArg 'TcpRn] -> TcType -> ExpRhoType -> TcM a -> TcM a
Documentation
data HsExprArg (p :: TcPass) #
Constructors
EValArg | |
Fields
| |
ETypeArg | |
EPrag AppCtxt (HsPragE (GhcPass (XPass p))) | |
EWrap EWrap |
Instances
OutputableBndrId (XPass p) => Outputable (HsExprArg p) # | |
Defined in GHC.Tc.Gen.Head |
data EValArg (p :: TcPass) where #
Instances
OutputableBndrId (XPass p) => Outputable (EValArg p) # | |
Defined in GHC.Tc.Gen.Head |
Instances
Outputable AppCtxt # | |
Defined in GHC.Tc.Gen.Head |
appCtxtLoc :: AppCtxt -> SrcSpan #
insideExpansion :: AppCtxt -> Bool #
isHsValArg :: HsExprArg id -> Bool #
countLeadingValArgs :: [HsExprArg id] -> Int #
isVisibleArg :: HsExprArg id -> Bool #
pprHsExprArgTc :: HsExprArg 'TcpInst -> SDoc #
tcInferAppHead :: (HsExpr GhcRn, AppCtxt) -> [HsExprArg 'TcpRn] -> Maybe TcRhoType -> TcM (HsExpr GhcTc, TcSigmaType) #
tcInferAppHead_maybe :: HsExpr GhcRn -> [HsExprArg 'TcpRn] -> Maybe TcRhoType -> TcM (Maybe (HsExpr GhcTc, TcSigmaType)) #
obviousSig :: HsExpr GhcRn -> Maybe (LHsSigWcType GhcRn) #
addAmbiguousNameErr :: RdrName -> TcM () #
This name really is ambiguous, so add a suitable "ambiguous occurrence" error, then continue
tyConOf :: FamInstEnvs -> TcSigmaType -> Maybe TyCon #
tyConOfET :: FamInstEnvs -> ExpRhoType -> Maybe TyCon #
lookupParents :: Bool -> RdrName -> RnM [(RecSelParent, GlobalRdrElt)] #
fieldNotInType :: RecSelParent -> RdrName -> SDoc #
notSelector :: Name -> SDoc #
nonBidirectionalErr :: Outputable name => name -> SDoc #
addFunResCtxt :: HsExpr GhcRn -> [HsExprArg 'TcpRn] -> TcType -> ExpRhoType -> TcM a -> TcM a #