dependency-0.1.0.2: Dependency resolution for package management

Safe HaskellNone
LanguageHaskell2010

Data.Dependency

Contents

Synopsis

Functions

resolveDependencies :: PackageSet Dependency -> [[Dependency]] -> Maybe [[Dependency]] Source #

Heuristics:

  1. Always use a newer version when possible
  2. Obey constraints
  3. Specify an error for circular dependencies
  4. Specify an error for overconstrained builds
  5. Specify an error if a package is not present.

This doesn't do any package resolution beyond versioning.

Types

newtype PackageSet a Source #

Constructors

PackageSet (Map String (Set a)) 

Instances

Eq a => Eq (PackageSet a) Source # 

Methods

(==) :: PackageSet a -> PackageSet a -> Bool #

(/=) :: PackageSet a -> PackageSet a -> Bool #

Ord a => Ord (PackageSet a) Source # 
Generic (PackageSet a) Source # 

Associated Types

type Rep (PackageSet a) :: * -> * #

Methods

from :: PackageSet a -> Rep (PackageSet a) x #

to :: Rep (PackageSet a) x -> PackageSet a #

Binary a => Binary (PackageSet a) Source # 

Methods

put :: PackageSet a -> Put #

get :: Get (PackageSet a) #

putList :: [PackageSet a] -> Put #

type Rep (PackageSet a) Source # 
type Rep (PackageSet a) = D1 * (MetaData "PackageSet" "Data.Dependency.Type" "dependency-0.1.0.2-IIQQUWyd9V58VEtyGr9AbS" True) (C1 * (MetaCons "PackageSet" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Map String (Set a)))))

newtype Version Source #

Constructors

Version [Integer] 

Instances

Eq Version Source # 

Methods

(==) :: Version -> Version -> Bool #

(/=) :: Version -> Version -> Bool #

Ord Version Source # 
Show Version Source # 
Generic Version Source # 

Associated Types

type Rep Version :: * -> * #

Methods

from :: Version -> Rep Version x #

to :: Rep Version x -> Version #

Binary Version Source # 

Methods

put :: Version -> Put #

get :: Get Version #

putList :: [Version] -> Put #

NFData Version Source # 

Methods

rnf :: Version -> () #

type Rep Version Source # 
type Rep Version = D1 * (MetaData "Version" "Data.Dependency.Type" "dependency-0.1.0.2-IIQQUWyd9V58VEtyGr9AbS" True) (C1 * (MetaCons "Version" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [Integer])))