projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Global renamings in HsSyn
[ghc-hetmet.git]
/
compiler
/
typecheck
/
TcMatches.lhs
diff --git
a/compiler/typecheck/TcMatches.lhs
b/compiler/typecheck/TcMatches.lhs
index
7f5dfad
..
d9146d9
100644
(file)
--- a/
compiler/typecheck/TcMatches.lhs
+++ b/
compiler/typecheck/TcMatches.lhs
@@
-18,10
+18,10
@@
import HsSyn ( HsExpr(..), LHsExpr, MatchGroup(..),
Match(..), LMatch, GRHSs(..), GRHS(..),
Stmt(..), LStmt, HsMatchContext(..),
HsStmtContext(..),
Match(..), LMatch, GRHSs(..), GRHS(..),
Stmt(..), LStmt, HsMatchContext(..),
HsStmtContext(..),
- pprMatch, isIrrefutableHsPat, mkHsCoerce,
- mkLHsCoerce, pprMatchContext, pprStmtContext,
+ pprMatch, isIrrefutableHsPat, mkHsWrap,
+ mkLHsWrap, pprMatchContext, pprStmtContext,
noSyntaxExpr, matchGroupArity, pprMatches,
noSyntaxExpr, matchGroupArity, pprMatches,
- ExprCoFn )
+ HsWrapper )
import TcRnMonad
import TcGadt ( Refinement, emptyRefinement, refineResType )
import TcRnMonad
import TcGadt ( Refinement, emptyRefinement, refineResType )
@@
-61,7
+61,7
@@
same number of arguments before using @tcMatches@ to do the work.
tcMatchesFun :: Name
-> MatchGroup Name
-> BoxyRhoType -- Expected type of function
tcMatchesFun :: Name
-> MatchGroup Name
-> BoxyRhoType -- Expected type of function
- -> TcM (ExprCoFn, MatchGroup TcId) -- Returns type of body
+ -> TcM (HsWrapper, MatchGroup TcId) -- Returns type of body
tcMatchesFun fun_name matches exp_ty
= do { -- Check that they all have the same no of arguments
tcMatchesFun fun_name matches exp_ty
= do { -- Check that they all have the same no of arguments
@@
-102,7
+102,7
@@
tcMatchesCase :: TcMatchCtxt -- Case context
tcMatchesCase ctxt scrut_ty matches res_ty
= tcMatches ctxt [scrut_ty] res_ty matches
tcMatchesCase ctxt scrut_ty matches res_ty
= tcMatches ctxt [scrut_ty] res_ty matches
-tcMatchLambda :: MatchGroup Name -> BoxyRhoType -> TcM (ExprCoFn, MatchGroup TcId)
+tcMatchLambda :: MatchGroup Name -> BoxyRhoType -> TcM (HsWrapper, MatchGroup TcId)
tcMatchLambda match res_ty
= subFunTys doc n_pats res_ty $ \ pat_tys rhs_ty ->
tcMatches match_ctxt pat_tys rhs_ty match
tcMatchLambda match res_ty
= subFunTys doc n_pats res_ty $ \ pat_tys rhs_ty ->
tcMatches match_ctxt pat_tys rhs_ty match
@@
-260,7
+260,7
@@
tcBody body (reft, res_ty)
= do { traceTc (text "tcBody" <+> ppr res_ty <+> ppr reft)
; let (co, res_ty') = refineResType reft res_ty
; body' <- tcPolyExpr body res_ty'
= do { traceTc (text "tcBody" <+> ppr res_ty <+> ppr reft)
; let (co, res_ty') = refineResType reft res_ty
; body' <- tcPolyExpr body res_ty'
- ; return (mkLHsCoerce co body') }
+ ; return (mkLHsWrap co body') }
\end{code}
\end{code}
@@
-477,7
+477,7
@@
tcMDoStmt tc_rhs ctxt (RecStmt stmts laterNames recNames _ _) res_ty thing_insid
-- poly_id may have a polymorphic type
-- but mono_ty is just a monomorphic type variable
; co_fn <- tcSubExp (idType poly_id) mono_ty
-- poly_id may have a polymorphic type
-- but mono_ty is just a monomorphic type variable
; co_fn <- tcSubExp (idType poly_id) mono_ty
- ; return (mkHsCoerce co_fn (HsVar poly_id)) }
+ ; return (mkHsWrap co_fn (HsVar poly_id)) }
tcMDoStmt tc_rhs ctxt stmt res_ty thing_inside
= pprPanic "tcMDoStmt: unexpected Stmt" (ppr stmt)
tcMDoStmt tc_rhs ctxt stmt res_ty thing_inside
= pprPanic "tcMDoStmt: unexpected Stmt" (ppr stmt)