[commit: Cabal] master: As a heuristic, use topological order for the order of package choices (3f4868d)
Paolo Capriotti
p.capriotti at gmail.com
Tue May 8 00:15:10 CEST 2012
Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/3f4868d1981297b38facfa652add1d55a789016b
>---------------------------------------------------------------
commit 3f4868d1981297b38facfa652add1d55a789016b
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri May 30 18:44:37 2008 +0000
As a heuristic, use topological order for the order of package choices
The general case in exploring the state space is that we have a set of
choices (package names) and for each choice we have a number of
versions of that package we could pick. If there's only one version of
a package then we make that choice first. Otherwise we have to pick
some package and select one of the available versions. The question is
which package should we make a choice for first? Previously we picked
completely arbitrarily. Surprisingly this actually works pretty well.
An improvement is to pick packages in topological order. This works
better because it allows dependencies from earlier choices to
constrain our later choices.
cabal-install/Hackage/Dependency/TopDown.hs | 105 +++++++++++++++++----
cabal-install/Hackage/Dependency/TopDown/Types.hs | 20 ++++-
cabal-install/cabal-install.cabal | 2 +-
3 files changed, 104 insertions(+), 23 deletions(-)
Diff suppressed because of size. To see it, use:
git show 3f4868d1981297b38facfa652add1d55a789016b
More information about the Cvs-libraries
mailing list