HORIZON HASKELLDocslts/ghc-10.0.x8174fa42026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 8174fa4 · 2026-10-11

The work list

12 declarations

The inert set

7 declarations
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

10 declarations
valuefilterFunEqs :: (EqCt -> Bool) -> InertFunEqs -> InertFunEqs
#

Filter entries in InertFunEqs that satisfy the predicate

Inert Dicts

8 declarations

Inert Irreds

8 declarations

Kick-out

2 declarations

Cycle breaker vars

4 declarations

Solving one from another

2 declarations