[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