Significant refactoring of TcSimplify, in particular simplifyInfer and
authorDimitrios.Vytiniotis <dimitris@microsoft.com>
Fri, 8 Jun 2012 15:07:00 +0000 (16:07 +0100)
committerDimitrios.Vytiniotis <dimitris@microsoft.com>
Fri, 8 Jun 2012 15:07:00 +0000 (16:07 +0100)
commit3891a056bb4c6d47e4d2269895c877729d2ca94a
tree72649f8aae2329b61d0356043d57fcdd4fa1eeea
parent19e6a35be99fb9ef2de84af50eb068584718a93e
Significant refactoring of TcSimplify, in particular simplifyInfer and
simplifyTop, code beautification etc. Important things:

(a) New top-level defaulting plan, gotten rid of the SimplContext field.
    See Note [Top-level Defaulting Plan]

(b) Serious bug fix in the floatEqualities mechanism
    See Note [Extra TcS Untouchables],[Float Equalities out of Implications]

The changes are mostly confined in TcSimplify but there is a
simplification wave affecting other modules as well.
compiler/typecheck/Inst.lhs
compiler/typecheck/TcBinds.lhs
compiler/typecheck/TcRnDriver.lhs
compiler/typecheck/TcRnMonad.lhs
compiler/typecheck/TcRnTypes.lhs
compiler/typecheck/TcSMonad.lhs
compiler/typecheck/TcSimplify.lhs