On Tue, Feb 25, 2014 at 10:38 AM, Daniel Trstenjak <daniel.trstenjak@gmail.com> wrote:
On Tue, Feb 25, 2014 at 10:12:29AM -0500, Brandon Allbery wrote:
> Is it better to save a developer some work, or is it better to force that work
> onto end users?

What is an end user? Someone installing a package containing an executable?
Then the package is an end point in the dependency graph and the PVP can
work pretty well for this case.

But if the package contains a library, then the end user is also the
developer, so you can only choose which kind of pain you prefer.

*A* developer, but not the developer of the package with the loose upper bound or the package that refused to compile with incomprehensible errors because of it, and generally not in a position to recognize the reason for the errors because they don't know the internals of the package they're trying to use. And I am certain of this because I'm sitting in #haskell fielding questions from them multiple times a day when some package gets broken by an overly lax or missing upper bound.

Also note that overly strict versioning certainly also leads to breakage --- but it's reported clearly by cabal as a version issue, not as ghc vomiting up unexpected errors from something that is presented as a curated package that should build without problems.

-- 
brandon s allbery kf8nh                               sine nomine associates
allbery.b@gmail.com                                  ballbery@sinenomine.net
unix, openafs, kerberos, infrastructure, xmonad        http://sinenomine.net