[Haskell-beginners] cabal installs parsec-2.1 not parsec-3.1? Same with QuickCheck-1.2 not 2.1?

Daniel Fischer daniel.is.fischer at web.de
Wed Jul 21 15:47:27 EDT 2010


On Wednesday 21 July 2010 18:19:18, Gerald Gutierrez wrote:
> Why is it that when I run "cabal install parsec" or "cabal upgrade
> parsec", it does not install the latest 3.1 version but instead sticks
> with the current 2.1 version? The same goes for quickcheck, where it
> will stay at 1.2 and not upgrade to 2.1. To install the latest versions,
> I need to explicitly specify the version.
>
> I thought /upgrade/ is supposed to upgrade to the latest version. Is
> there reasoning behind this?

Don't use cabal upgrade, it does not do what you expect, probably.

The reason that cabal install parsec gives you parsec-2 and not parsec-3 
(same for QuickCheck and a few others) is that there are 'preferred 
versions' for a few packages which are not the latest versions, because 
they've been widely used and then undergone major API changes, so serving 
the new version unquestioningly could break many packages, hence it was 
decided to play safe and default to the previous (packages depending on the 
new versions would pull that in explicitly).
The new versions have now been around for a while, so most packages should 
have fixed their dependencies and the 'preferred versions' can (will?) be 
removed soon.


More information about the Beginners mailing list