
On 09/11/2012 18:35, Clark Gaebel wrote:
I think we just use dependencies different things. This is a problem inherent in cabal.
When I (and others) specify a dependency, I'm saying "My package will work with these packages. I promise." When you (and others) specify a dependency, you're saying "If you use a version outside of these bounds, my package will break. I promise."
They're similar, but subtly different. There are merits to both of these strategies, and it's unfortunate that this isn't specified in the PVP [1].
I always understood that the policy was the former, i.e. allowing a version means you positively expect it to work. Otherwise, why does the PVP insist on upper bounds? You can't in general know that the package will break with a version that doesn't exist yet. As this thread and others show, there is of course a substantial set of people that would prefer the policy to be the latter. Cheers, Ganesh