Distribution.Solver.Modular

cabal-install-solver-3.12.1.0: The command-line interface for Cabal and Hackage.

Safe Haskell | None
Language | Haskell2010

Distribution.Solver.Modular

Synopsis

- modularResolver :: SolverConfig -> DependencyResolver loc
- data SolverConfig = SolverConfig {
  - reorderGoals :: ReorderGoals
  - countConflicts :: CountConflicts
  - fineGrainedConflicts :: FineGrainedConflicts
  - minimizeConflictSet :: MinimizeConflictSet
  - independentGoals :: IndependentGoals
  - avoidReinstalls :: AvoidReinstalls
  - shadowPkgs :: ShadowPkgs
  - strongFlags :: StrongFlags
  - onlyConstrained :: OnlyConstrained
  - maxBackjumps :: Maybe Int
  - enableBackjumping :: EnableBackjumping
  - solveExecutables :: SolveExecutables
  - goalOrder :: Maybe (Variable QPN -> Variable QPN -> Ordering)
  - solverVerbosity :: Verbosity
  - pruneAfterFirstSuccess :: PruneAfterFirstSuccess
  }
- newtype PruneAfterFirstSuccess = PruneAfterFirstSuccess Bool

# Documentation

modularResolver :: SolverConfig -> DependencyResolver loc #

Ties the two worlds together: classic cabal-install vs. the modular solver. Performs the necessary translations before and after.

data SolverConfig #

Various options for the modular solver.

Constructors

SolverConfig |
Fields reorderGoals :: ReorderGoals countConflicts :: CountConflicts fineGrainedConflicts :: FineGrainedConflicts minimizeConflictSet :: MinimizeConflictSet independentGoals :: IndependentGoals avoidReinstalls :: AvoidReinstalls shadowPkgs :: ShadowPkgs strongFlags :: StrongFlags onlyConstrained :: OnlyConstrained maxBackjumps :: Maybe Int enableBackjumping :: EnableBackjumping solveExecutables :: SolveExecutables goalOrder :: Maybe (Variable QPN -> Variable QPN -> Ordering) solverVerbosity :: Verbosity pruneAfterFirstSuccess :: PruneAfterFirstSuccess

newtype PruneAfterFirstSuccess #

Whether to remove all choices after the first successful choice at each level in the search tree.

Constructors

PruneAfterFirstSuccess Bool |