[Git][ghc/ghc][wip/T23070] Refactor the constraint solver pipeline

Simon Peyton Jones (@simonpj) gitlab at gitlab.haskell.org
Sun Mar 5 23:16:22 UTC 2023



Simon Peyton Jones pushed to branch wip/T23070 at Glasgow Haskell Compiler / GHC


Commits:
5c3f9bd6 by Simon Peyton Jones at 2023-03-05T23:17:38+00:00
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.

- - - - -


2 changed files:

- compiler/GHC/Tc/Solver/Canonical.hs
- + compiler/GHC/Tc/Solver/Dict.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/5c3f9bd60b6e97f55880285ab1b7104138f61a1d

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/5c3f9bd60b6e97f55880285ab1b7104138f61a1d
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20230305/65a4b015/attachment.html>


More information about the ghc-commits mailing list