-- 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.7 module Data.Dependency -- | Heuristics: -- --
    --
  1. Always use a newer version when possible
  2. --
  3. Obey constraints
  4. --
  5. Specify an error for circular dependencies
  6. --
  7. Specify an error for overconstrained builds
  8. --
  9. Specify an error if a package is not present
  10. --
-- -- This doesn't do any package resolution beyond versioning. resolveDependencies :: PackageSet Dependency -> [Dependency] -> DepM [[Dependency]] buildSequence :: [Dependency] -> [[Dependency]] satisfies :: (Ord a) => Constraint a -> a -> Bool data Dependency Dependency :: String -> Constraint Version -> [String] -> Version -> Dependency [_libName] :: Dependency -> String [_libConstraint] :: Dependency -> Constraint Version [_libDependencies] :: Dependency -> [String] [_libVersion] :: Dependency -> Version newtype PackageSet a PackageSet :: (Map String (Set a)) -> PackageSet a newtype Version Version :: [Integer] -> Version type DepM = Either ResolveError -- | An error that can occur during package resolution. data ResolveError InternalError :: ResolveError NotPresent :: String -> ResolveError data Constraint a LessThanEq :: a -> Constraint a GreaterThanEq :: a -> Constraint a Eq :: a -> Constraint a Bounded :: (Constraint a) -> (Constraint a) -> Constraint a None :: Constraint a