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 <[email protected]> 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 _______________________________________________ Cvs-libraries mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-libraries
