futhark-0.25.32: An optimising compiler for a functional, array-oriented language.

Safe Haskell | None
Language | GHC2021

Futhark.Pkg.Solve

Description

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.