
I opened the following ticket [1] about the versioning of packages shipped with GHC, but was told to start a discussion first. I hope libraries@haskell.org is the right place to do that. [1] http://hackage.haskell.org/trac/ghc/ticket/6053 Let me repeat the issue description here: I try to compile a package with many dependencies using GHC-7.5.20120426 in order to check whether #5970 is resolved. This turns out to be difficult because this temporary GHC version seems to use packages with the same version as their counterparts on Hackage but different content. For example GHC-7.5.20120426 is bundled with unix-2.5.1.0 and bytestring-0.10.0.0. However the unix-2.5.1.0 on Hackage excludes bytestring-0.10.0.0. Thus cabal-install refuses to install something that depends on unix-2.5.1.0. Another example: Both GHC-7.4.1 and GHC-7.5.20120426 are bundled with base-4.5.0.0. However in GHC-7.5, Num is no longer superclass of Bits. I think such a change requires a version bump to base-4.6. In my opinion the condition should be that if you publish a package on Hackage then there should not be a package with the same version but different content somewhere else. Thus I propose that package versions are increased immediately in the repository according to the PVP if something is changed. That's how I handle versioning for my private packages, too.