HORIZON HASKELLDocslts/ghc-9.14.xb9228482026-10-12Search packagesCtrl K
Theme: |

GHC 9.14.1 · lts/ghc-9.14.x · b922848 · 2026-10-12

The work list

The inert set

valueprohibitedSuperClassSolve
  1. :: CtLoc

    is it loopy to use this one ...

  2. -> CtLoc

    ... to solve this one?

  3. -> Bool

    True ==> don't solve it

Is it (potentially) loopy to use the first ct1 to solve ct2?

Necessary (but not sufficient) conditions for this function to return True:

  • ct1 and ct2 both arise from superclass expansion,

  • ct1 is a Given and ct2 is a Wanted.

See Note [Solving superclass constraints] in GHC.Tc.TyCl.Instance, (sc2).

Inert equalities

Inert Dicts

Inert Irreds

Kick-out

Cycle breaker vars

Solving one from another