[commit: ghc] ghc-new-flavor: Yet another major refactoring of the constraint solver (dd7522c)

Simon Peyton Jones simonpj at microsoft.com
Mon May 7 18:40:54 CEST 2012


Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : ghc-new-flavor

http://hackage.haskell.org/trac/ghc/changeset/dd7522c3b14bce1af94bffd61c4d38e670f53495

>---------------------------------------------------------------

commit dd7522c3b14bce1af94bffd61c4d38e670f53495
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date:   Mon May 7 17:40:34 2012 +0100

    Yet another major refactoring of the constraint solver
    
    This is the result of Simon and Dimitrios doing a code walk through.
    There is no change in behaviour, but the structure is much better.
    Main changes:
    
    * Given constraints contain an EvTerm not an EvVar
    
    * Correspondingly, TcEvidence is a recursive types that uses
      EvTerms rather than EvVars
    
    * Rename CtFlavor to CtEvidence
    
    * Every CtEvidence has a ctev_pred field.  And use record fields
      consistently for CtEvidence
    
    * The solved-constraint fields of InertSet (namely inert_solved and
      inert_solved_funeqs) contain CtEvidence, not Ct
    
    There is a long cascade of follow-on changes.

 compiler/coreSyn/CoreUtils.lhs     |   10 +-
 compiler/deSugar/DsBinds.lhs       |   53 ++--
 compiler/typecheck/Inst.lhs        |   72 ++---
 compiler/typecheck/TcCanonical.lhs |  252 ++++++++-------
 compiler/typecheck/TcErrors.lhs    |   48 ++--
 compiler/typecheck/TcEvidence.lhs  |   68 +++--
 compiler/typecheck/TcHsSyn.lhs     |   29 +-
 compiler/typecheck/TcInstDcls.lhs  |    4 +-
 compiler/typecheck/TcInteract.lhs  |  367 ++++++++++-----------
 compiler/typecheck/TcMType.lhs     |   29 +-
 compiler/typecheck/TcRnTypes.lhs   |  173 +++++------
 compiler/typecheck/TcSMonad.lhs    |  622 ++++++++++++++++++++---------------
 compiler/typecheck/TcSimplify.lhs  |   50 ++--
 compiler/typecheck/TcUnify.lhs     |    4 +-
 compiler/types/Coercion.lhs        |   14 +-
 compiler/types/Type.lhs            |   15 +-
 16 files changed, 954 insertions(+), 856 deletions(-)


Diff suppressed because of size. To see it, use:

    git show dd7522c3b14bce1af94bffd61c4d38e670f53495



More information about the Cvs-ghc mailing list