[Haskell-cafe] parsec 3 & parsec 2

Duncan Coutts duncan.coutts at worc.ox.ac.uk
Thu Oct 9 00:35:00 EDT 2008


On Thu, 2008-10-09 at 06:15 +0200, Alfonso Acosta wrote:
> ghc-pkg hide {pkg-id}

This will only make a difference to ghc --make. It makes no difference
to anything built using Cabal.


> On Thu, Oct 9, 2008 at 5:53 AM, Jason Dusek <jason.dusek at gmail.com> wrote:
> >  I don't know anything about how to do that. Is this a Cabal
> >  thing? A GHC package registration thing?

Here's the plan:

cabal-install can now apply soft package version preferences. There will
be a standard set of package version preferences in the hackage index. 

The initial global soft version preferences will probably be:
base < 4
parsec < 3
HaXml == 1.13.*

Soft preferences only apply when there is otherwise a free choice. They
do not override constraints specified by packages or by the user.

cabal-install will use these preferences for the "cabal install"
command, but not for "cabal configure". The "install" command uses a
constraint solving algorithm to find a consistent installation plan
while the "configure" command still just picks the highest version of
each package (like ghc --make does).

What it means is that things should work when using "cabal install", but
you may need to specify version constraints when using ghc --make,
runghc Setup or cabal configure. We're currently testing this stuff and
setting up a wiki page to explain the details.

Note, if you're testing ghc-6.10 and want to use cabal-install then you
need to use the very latest version from darcs as it contains some
important changes to the dependency resolver. The changes enable it to
work with ghc-6.10 which includes two versions of the base library. Very
often both versions of the base library need to be used within a single
installation plan. The previous resolver could not cope with that
(indeed it was specifically designed to avoid that situation normally).

Duncan



More information about the Haskell-Cafe mailing list