
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.