summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2018-07-25 11:52:44 +0100
committerSimon Peyton Jones <simonpj@microsoft.com>2018-07-25 12:04:31 +0100
commita434bcbc8049f3f98a1312f3001c93d415b5c4ae (patch)
tree7f49a7e1969206990ff96c3ec09a37d61444b5bf /compiler
parent857ef25e3b077ac1cdf54e2e6f7adf9a1c83a31e (diff)
downloadhaskell-a434bcbc8049f3f98a1312f3001c93d415b5c4ae.tar.gz
tc-tracing only
Diffstat (limited to 'compiler')
-rw-r--r--compiler/typecheck/FunDeps.hs9
-rw-r--r--compiler/typecheck/TcInteract.hs3
-rw-r--r--compiler/typecheck/TcSimplify.hs5
3 files changed, 14 insertions, 3 deletions
diff --git a/compiler/typecheck/FunDeps.hs b/compiler/typecheck/FunDeps.hs
index c8f0b1deef..4052ccbbe4 100644
--- a/compiler/typecheck/FunDeps.hs
+++ b/compiler/typecheck/FunDeps.hs
@@ -283,7 +283,14 @@ improveClsFD clas_tvs fd
-> []
| otherwise
- -> [(meta_tvs, fdeqs)]
+ -> -- pprTrace "iproveClsFD" (vcat
+ -- [ text "is_tvs =" <+> ppr qtvs
+ -- , text "tys_inst =" <+> ppr tys_inst
+ -- , text "tys_actual =" <+> ppr tys_actual
+ -- , text "ltys1 =" <+> ppr ltys1
+ -- , text "ltys2 =" <+> ppr ltys2
+ -- , text "subst =" <+> ppr subst ]) $
+ [(meta_tvs, fdeqs)]
-- We could avoid this substTy stuff by producing the eqn
-- (qtvs, ls1++rs1, ls2++rs2)
-- which will re-do the ls1/ls2 unification when the equation is
diff --git a/compiler/typecheck/TcInteract.hs b/compiler/typecheck/TcInteract.hs
index 9b50b09682..028b755187 100644
--- a/compiler/typecheck/TcInteract.hs
+++ b/compiler/typecheck/TcInteract.hs
@@ -1608,7 +1608,8 @@ interactTyVarEq inerts workItem@(CTyEqCan { cc_tyvar = tv
; stopWith ev "Solved from inert" }
| ReprEq <- eq_rel -- See Note [Do not unify representational equalities]
- = continueWith workItem
+ = do { traceTcS "Not unifying representational equality" (ppr workItem)
+ ; continueWith workItem }
| isGiven ev -- See Note [Touchables and givens]
= continueWith workItem
diff --git a/compiler/typecheck/TcSimplify.hs b/compiler/typecheck/TcSimplify.hs
index fb5a70c94c..97da3dc27c 100644
--- a/compiler/typecheck/TcSimplify.hs
+++ b/compiler/typecheck/TcSimplify.hs
@@ -1357,7 +1357,10 @@ solveWanteds :: WantedConstraints -> TcS WantedConstraints
-- so that the inert set doesn't mindlessly propagate.
-- NB: wc_simples may be wanted /or/ derived now
solveWanteds wc@(WC { wc_simple = simples, wc_impl = implics })
- = do { traceTcS "solveWanteds {" (ppr wc)
+ = do { cur_lvl <- TcS.getTcLevel
+ ; traceTcS "solveWanteds {" $
+ vcat [ text "Level =" <+> ppr cur_lvl
+ , ppr wc ]
; wc1 <- solveSimpleWanteds simples
-- Any insoluble constraints are in 'simples' and so get rewritten