[Haskell-cafe] How to determine correct dependency versions for a library?

Roman Cheplyaka roma at ro-che.info
Sat Nov 10 17:16:32 CET 2012


* Erik Hesselink <hesselink at gmail.com> [2012-11-10 16:40:30+0100]
> On Fri, Nov 9, 2012 at 5:52 PM, Roman Cheplyaka <roma at ro-che.info> wrote:
> 
> > * Janek S. <fremenzone at poczta.onet.pl> [2012-11-09 17:15:26+0100]
> > > but I am aware that if the library were to be released on Hackage I
> > > would have to supply version numbers in the dependencies. The question
> > > is how to determine proper version numbers?
> >
> > With the current state of affairs, your best bet is not to specify any
> > version bounds, or specify only lower ones.
> >
> > Upper version bounds much more often break things that fix things.
> >
> 
> I'd like to ask people not to do this. What you're doing then is moving the
> burden from the maintainer (who has to test with new versions and relax
> dependencies) to the users of the library (who will be faced with breakages
> when new incompatible dependencies are released).

The trouble is, when things break, they break either way — so I simply
propose to reduce the probability of things breaking.

I know, I know, the theory is that Cabal magically installs the right
versions for you. However, in practice it often can't do that due to
various reasons (base libraries, package reinstalls etc.)

I'm not trying to shift the burden from the maintainer — I simply know
from experience that maintainers are not nearly as quick and responsible
as would be required for such scheme to work, so as a *user* I'd prefer
that they omit upper bounds — at least until the --ignore-constraints
option is implemented.
(https://github.com/haskell/cabal/issues/949)

Roman



More information about the Haskell-Cafe mailing list