Skip to content

WIP: Refactor the solver to use predicates, not types.

Richard Eisenberg requested to merge rae/ghc:pred into master

This refactors the solver to make all constraints, etc., revolve around predicates, not types. A design goal is to avoid uses of classifyPredType as much as possible. A good starting point is to read Predicate.hs, and then perhaps Constraint.hs.

There is no intended change in behavior, but a few outstanding bugs were fixed along the way (#17737, #15177).

This will support #17201/#17536 (closed)/#15979, and build a path toward having homogeneous equality (#17368), and hence, dependent types.

Edited by Richard Eisenberg

Merge request reports