HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

Modulecabal-install-solver-3.12.1.0Haskell2010

Distribution.Solver.Modular.Solver

  • 2 types
  • 1 value
datadata SolverConfig
#
valuesolve
  1. :: SolverConfig

    solver parameters

  2. -> CompilerInfo
  3. -> Index

    all available packages as an index

  4. -> PkgConfigDb

    available pkg-config pkgs

  5. -> (PN -> PackagePreferences)

    preferences

  6. -> Map PN [LabeledPackageConstraint]

    global constraints

  7. -> Set PN

    global goals

  8. -> RetryLog Message SolverFailure (Assignment, RevDepMap)
#

Run all solver phases.

In principle, we have a valid tree after validationPhase, which means that every Done node should correspond to valid solution.

There is one exception, though, and that is cycle detection, which has been added relatively recently. Cycles are only removed directly before exploration.