Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Dependency solver
This is a relatively simple problem due to the choice of the Minimum Package Version algorithm. In fact, the only failure mode is referencing an unknown package or revision.
Synopsis
- solveDeps :: MonadPkgRegistry m => CacheDir -> PkgRevDeps -> m BuildList
- solveDepsPure :: PkgRevDepInfo -> PkgRevDeps -> Either Text BuildList
- type PkgRevDepInfo = Map (PkgPath, SemVer) PkgRevDeps
Documentation
solveDeps :: MonadPkgRegistry m => CacheDir -> PkgRevDeps -> m BuildList Source #
Run the solver, producing both a package registry containing a cache of the lookups performed, as well as a build list.
solveDepsPure :: PkgRevDepInfo -> PkgRevDeps -> Either Text BuildList Source #
Perform package resolution with only pre-known information. This is useful for testing.
type PkgRevDepInfo = Map (PkgPath, SemVer) PkgRevDeps Source #
A mapping of package revisions to the dependencies of that
package. Can be considered a PkgRegistry
without the option of
obtaining more information from the Internet. Probably useful only
for testing the solver.