ghc-7.6.3: The GHC API

Safe Haskell | None

TcMatches

# Documentation

tcMatchesFun :: Name -> Bool -> MatchGroup Name -> TcSigmaType -> TcM (HsWrapper, MatchGroup TcId)

tcGRHSsPat :: GRHSs Name -> TcRhoType -> TcM (GRHSs TcId)

tcGRHS :: TcMatchCtxt -> TcRhoType -> GRHS Name -> TcM (GRHS TcId)

tcMatchesCase :: TcMatchCtxt -> TcRhoType -> MatchGroup Name -> TcRhoType -> TcM (MatchGroup TcId)

tcMatchLambda :: MatchGroup Name -> TcRhoType -> TcM (HsWrapper, MatchGroup TcId)

data TcMatchCtxt

Constructors

MC |
Fields mc_what :: HsMatchContext Name mc_body :: LHsExpr Name -> TcRhoType -> TcM (LHsExpr TcId)

type TcStmtChecker = forall thing. HsStmtContext Name -> Stmt Name -> TcRhoType -> (TcRhoType -> TcM thing) -> TcM (Stmt TcId, thing)

tcStmts :: HsStmtContext Name -> TcStmtChecker -> [LStmt Name] -> TcRhoType -> TcM [LStmt TcId]

tcStmtsAndThen :: HsStmtContext Name -> TcStmtChecker -> [LStmt Name] -> TcRhoType -> (TcRhoType -> TcM thing) -> TcM ([LStmt TcId], thing)

tcDoStmts :: HsStmtContext Name -> [LStmt Name] -> TcRhoType -> TcM (HsExpr TcId)

tcBody :: LHsExpr Name -> TcRhoType -> TcM (LHsExpr TcId)

tcDoStmt :: TcStmtChecker

tcGuardStmt :: TcStmtChecker