[commit: ghc] master: Fix the constraint simplifier (Trac #7967) (262cab0)
Simon Peyton Jones
simonpj at microsoft.com
Wed Jun 12 10:44:23 CEST 2013
Repository : http://darcs.haskell.org/ghc.git/
On branch : master
https://github.com/ghc/ghc/commit/262cab0f1c928fb3fea9afa4d2c442edb3103c08
>---------------------------------------------------------------
commit 262cab0f1c928fb3fea9afa4d2c442edb3103c08
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date: Wed Jun 12 09:38:54 2013 +0100
Fix the constraint simplifier (Trac #7967)
Richard's bug report showed up a couple of subtleties in the constraint solver
* We can strengthen the kind invariants on CTyEqCan and CFunEqCan
See Note [Kind orientation for CTyEqCan]
and Note [Kind orientation for CFunEqCan] in TcRnTypes
There are some changes to reOrient and checkKind in TcCanonical
to support these stronger invarants.
* In TcSimplify we must make sure that we re-simplify if defaultTyVar
does anything. See Note [Must simplify after defaulting] in TcSimplify.
The usual round of refactoring follows!
compiler/typecheck/TcCanonical.lhs | 172 ++++++++++++++++++++-----------------
compiler/typecheck/TcInteract.lhs | 77 +++--------------
compiler/typecheck/TcRnTypes.lhs | 53 +++++++++++-
compiler/typecheck/TcSMonad.lhs | 6 +-
compiler/typecheck/TcSimplify.lhs | 53 ++++++++----
5 files changed, 193 insertions(+), 168 deletions(-)
Diff suppressed because of size. To see it, use:
git show 262cab0f1c928fb3fea9afa4d2c442edb3103c08
More information about the ghc-commits
mailing list