
Hi Brandon, 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.
Because we keep constantly seeing examples where saving the developer some upper bounds PVP work forces users to deal with unexpected errors, but since Haskell developers don't see that user pain it is considered irrelevant/ nonexistent and certainly not any justification for saving developers some work.
I think that in most cases it doesn't really make much difference for the end user, if they're seeing a package version mismatch or if they're seeing a compile error. Sure, the package version mismatch is more telling, but in most cases he will be equally lost and has to ask for help. Greetings, Daniel