HORIZON HASKELLDocslts/ghc-10.0.x8fef28d2026-11-02Search packagesCtrl K
Theme: |

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 8fef28d · 2026-11-02

Modulecabal-install-solver-3.18.1.0Haskell2010

Distribution.Solver.Modular.Solver

Synopsis
datadata SolverConfig
valuesolve
  1. :: SolverConfig

    solver parameters

  2. -> CompilerInfo
  3. -> Index

    all available packages as an index

  4. -> Maybe 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.