Refactor the constraint solver pipeline
The big change is to put the entire type-equality solver into GHC.Tc.Solver.Equality, rather than scattering it over Canonical and Interact. Other changes * EqCt becomes its own data type, a bit like QCInst. This is great because EqualCtList is then just [EqCt] * New module GHC.Tc.Solver.Dict has come of the class-contraint solver. In due course it will be all. One step at a time. This MR is intended to have zero change in behaviour: it is a pure refactor. It opens the way to subsequent tidying up, we believe.
Showing
- compiler/GHC/Data/Bag.hs 5 additions, 2 deletionscompiler/GHC/Data/Bag.hs
- compiler/GHC/Tc/Solver/Canonical.hs 20 additions, 2425 deletionscompiler/GHC/Tc/Solver/Canonical.hs
- compiler/GHC/Tc/Solver/Dict.hs 859 additions, 0 deletionscompiler/GHC/Tc/Solver/Dict.hs
- compiler/GHC/Tc/Solver/Equality.hs 2964 additions, 0 deletionscompiler/GHC/Tc/Solver/Equality.hs
- compiler/GHC/Tc/Solver/InertSet.hs 76 additions, 76 deletionscompiler/GHC/Tc/Solver/InertSet.hs
- compiler/GHC/Tc/Solver/Interact.hs 13 additions, 1519 deletionscompiler/GHC/Tc/Solver/Interact.hs
- compiler/GHC/Tc/Solver/Monad.hs 251 additions, 31 deletionscompiler/GHC/Tc/Solver/Monad.hs
- compiler/GHC/Tc/Solver/Rewrite.hs 5 additions, 5 deletionscompiler/GHC/Tc/Solver/Rewrite.hs
- compiler/GHC/Tc/Solver/Types.hs 10 additions, 10 deletionscompiler/GHC/Tc/Solver/Types.hs
- compiler/GHC/Tc/TyCl/Instance.hs 1 addition, 1 deletioncompiler/GHC/Tc/TyCl/Instance.hs
- compiler/GHC/Tc/Types/Constraint.hs 49 additions, 44 deletionscompiler/GHC/Tc/Types/Constraint.hs
- compiler/GHC/Tc/Utils/TcMType.hs 1 addition, 1 deletioncompiler/GHC/Tc/Utils/TcMType.hs
- compiler/ghc.cabal.in 2 additions, 0 deletionscompiler/ghc.cabal.in
- testsuite/tests/linters/notes.stdout 46 additions, 48 deletionstestsuite/tests/linters/notes.stdout
Loading
Please register or sign in to comment