cabal-install-solver-3.8.1.0: The command-line interface for Cabal and Hackage.
Safe HaskellNone
LanguageHaskell2010

Distribution.Solver.Types.DependencyResolver

Synopsis

Documentation

type DependencyResolver loc = Platform -> CompilerInfo -> InstalledPackageIndex -> PackageIndex (SourcePackage loc) -> PkgConfigDb -> (PackageName -> PackagePreferences) -> [LabeledPackageConstraint] -> Set PackageName -> Progress String String [ResolverPackage loc] Source #

A dependency resolver is a function that works out an installation plan given the set of installed and available packages and a set of deps to solve for.

The reason for this interface is because there are dozens of approaches to solving the package dependency problem and we want to make it easy to swap in alternatives.