[commit: ghc] master: Numerous small changes to the constraint solver (9c0a6bb)
Simon Peyton Jones
simonpj at microsoft.com
Mon Jul 23 18:29:32 CEST 2012
Repository : ssh://darcs.haskell.org//srv/darcs/ghc
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/9c0a6bbb0194f65cd62e48936c0c00fc4888eef3
>---------------------------------------------------------------
commit 9c0a6bbb0194f65cd62e48936c0c00fc4888eef3
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date: Mon Jul 23 17:05:59 2012 +0100
Numerous small changes to the constraint solver
The main thing is that we now keep unsolved Derived constraints in the
wc_flats of a WantedConstraints, rather than discarding them each time.
This actually fixes a poential (admittedly obscure) bug, when we currently
discard a superclass constraint, and may never re-generate it, and may
thereby miss a functional dependency.
Instead, reportErrors filters out Derived constraints that we don't want
to report.
The other changes are all small refactorings following our walk-through.
compiler/typecheck/TcErrors.lhs | 53 ++++++++++-
compiler/typecheck/TcHsSyn.lhs | 50 ++++------
compiler/typecheck/TcInteract.lhs | 192 +++++++++++++------------------------
compiler/typecheck/TcRnTypes.lhs | 40 ++++----
compiler/typecheck/TcSMonad.lhs | 135 ++++++++++++--------------
compiler/typecheck/TcSimplify.lhs | 86 +----------------
6 files changed, 226 insertions(+), 330 deletions(-)
Diff suppressed because of size. To see it, use:
git show 9c0a6bbb0194f65cd62e48936c0c00fc4888eef3
More information about the Cvs-ghc
mailing list