-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Dependency resolution for package management
--
-- A library for resolving dependencies; uses a topological sort to
-- construct a build plan and then allows choice between all compatible
-- plans.
@package dependency
@version 0.1.0.2
module Data.Dependency
-- | Heuristics:
--
--
-- - Always use a newer version when possible
-- - Obey constraints
-- - Specify an error for circular dependencies
-- - Specify an error for overconstrained builds
-- - Specify an error if a package is not present.
--
--
-- This doesn't do any package resolution beyond versioning.
resolveDependencies :: PackageSet Dependency -> [[Dependency]] -> Maybe [[Dependency]]
isPresent :: PackageSet Version -> Dependency -> Bool
buildSequence :: [Dependency] -> [[Dependency]]
asGraph :: [Dependency] -> (Graph, Vertex -> Dependency)
data Dependency
Dependency :: String -> Constraint Version -> [String] -> Dependency
[_libName] :: Dependency -> String
[_libConstraint] :: Dependency -> Constraint Version
[_libDependencies] :: Dependency -> [String]
newtype PackageSet a
PackageSet :: (Map String (Set a)) -> PackageSet a
newtype Version
Version :: [Integer] -> Version