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

GHC 9.14.1 · lts/ghc-9.14.x · 45dd537 · 2026-10-11

  • Packageghc-9.14.1
  • Exports53
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceInertSet.hs

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