Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- type DependencyResolver loc = Platform -> CompilerInfo -> InstalledPackageIndex -> PackageIndex (SourcePackage loc) -> Maybe PkgConfigDb -> (PackageName -> PackagePreferences) -> [LabeledPackageConstraint] -> Set PackageName -> Progress String String [ResolverPackage loc]
Documentation
type DependencyResolver loc = Platform -> CompilerInfo -> InstalledPackageIndex -> PackageIndex (SourcePackage loc) -> Maybe 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.