Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
tcMatchesFun :: Located Name -> MatchGroup Name (LHsExpr Name) -> ExpRhoType -> TcM (HsWrapper, MatchGroup TcId (LHsExpr TcId)) Source #
tcGRHS :: TcMatchCtxt body -> ExpRhoType -> GRHS Name (Located (body Name)) -> TcM (GRHS TcId (Located (body TcId))) Source #
tcMatchesCase :: Outputable (body Name) => TcMatchCtxt body -> TcSigmaType -> MatchGroup Name (Located (body Name)) -> ExpRhoType -> TcM (MatchGroup TcId (Located (body TcId))) Source #
tcMatchLambda :: SDoc -> TcMatchCtxt HsExpr -> MatchGroup Name (LHsExpr Name) -> ExpRhoType -> TcM (MatchGroup TcId (LHsExpr TcId), HsWrapper) Source #
data TcMatchCtxt body Source #
type TcStmtChecker body rho_type = forall thing. HsStmtContext Name -> Stmt Name (Located (body Name)) -> rho_type -> (rho_type -> TcM thing) -> TcM (Stmt TcId (Located (body TcId)), thing) Source #
tcStmts :: Outputable (body Name) => HsStmtContext Name -> TcStmtChecker body rho_type -> [LStmt Name (Located (body Name))] -> rho_type -> TcM [LStmt TcId (Located (body TcId))] Source #
tcStmtsAndThen :: Outputable (body Name) => HsStmtContext Name -> TcStmtChecker body rho_type -> [LStmt Name (Located (body Name))] -> rho_type -> (rho_type -> TcM thing) -> TcM ([LStmt TcId (Located (body TcId))], thing) Source #