Safe Haskell | None |
---|---|
Language | Haskell2010 |
- resolveDependencies :: PackageSet Dependency -> [[Dependency]] -> Maybe [[Dependency]]
- isPresent :: PackageSet Version -> Dependency -> Bool
- buildSequence :: [Dependency] -> [[Dependency]]
- asGraph :: [Dependency] -> (Graph, Vertex -> Dependency)
- data Dependency = Dependency {
- _libName :: String
- _libConstraint :: Constraint Version
- _libDependencies :: [String]
- newtype PackageSet a = PackageSet (Map String (Set a))
- newtype Version = Version [Integer]
Functions
resolveDependencies :: PackageSet Dependency -> [[Dependency]] -> Maybe [[Dependency]] Source #
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.
isPresent :: PackageSet Version -> Dependency -> Bool Source #
buildSequence :: [Dependency] -> [[Dependency]] Source #
asGraph :: [Dependency] -> (Graph, Vertex -> Dependency) Source #
Types
data Dependency Source #
Dependency | |
|
newtype PackageSet a Source #
PackageSet (Map String (Set a)) |
Eq a => Eq (PackageSet a) Source # | |
Ord a => Ord (PackageSet a) Source # | |
Generic (PackageSet a) Source # | |
Binary a => Binary (PackageSet a) Source # | |
type Rep (PackageSet a) Source # | |