Hackage rejecting packages

Iavor Diatchki iavor.diatchki at gmail.com
Fri Oct 28 22:41:59 CEST 2011


I just noticed that the public Hackage server has started refusing to
accept packages that do not have an upper bound on "base".     I think
that this crosses the line of useful static checking and, instead of
helping package maintainers, it creates more work for them.  (A
warning to the same effect would be just fine.)

Why do I think that?  Choosing a conservative upper bound for the
'base' dependency of a library does not really lead to more stable
builds---while it ensures that your library will build correctly, it
tends to cause failures in the building of applications that use your
library (because there is no set of packages that satisfies the
combined dependencies).   This is particularly true for the case of
"base" because all packages depend on it.  So placing a conservative
constraint automatically makes your library incompatible with any
package that might use a feature that was introduced after the

While, in principle, "base" could completely change in the future, in
practice there is a fairly large set of functions that are quite
stable and it is not hard to write fairly future proof code. I think
that it should be up to the maintainer to decide if they have an upper
bound or not, just like with any other package.


More information about the Libraries mailing list