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

Safe HaskellNone



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.



solveDeps :: MonadPkgRegistry m => 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.