Cabal and simultaneous installations of the same package

Michael Snoyman michael at
Mon Mar 23 08:52:31 UTC 2015

I'm in favor of adding support to Cabal to allow for this situation.
However: I highly doubt this will be the panacea as predicted. It's already
a huge source of confusion for people using GHCi what they get messages
about "ByteString is not ByteString." In fact, this confusion is so
prevalent that I wrote a blog post about it in September[1].

I strongly believe that the best end-user experience comes from having a
single mapping from package name to actually installed
package/version/dependencies. I'd go even farther and say that users would
be well served by having a single mapping from module name to installed
module. In fact, Adam Bergmark even created an issue[2] to look into adding
support to Stackage to start enforcing this situation, though the response
to a blog post I wrote on that[3] implies that people are not so interested
in addressing that problem.

So my word of warning here is: if we simply throw multiple
package/version/dependency combinations at users via cabal, there's a good
chance that we'll do more harm than good.


On Mon, Mar 23, 2015 at 10:45 AM Simon Peyton Jones <simonpj at>

> Dear Cabal developers
> You'll probably have seen the thread about the Haskell Platform.
> Among other things, this point arose:
> |  Another thing we should fix is the (now false) impression that HP gets
> in
> |  the way of installing other packages and versions due to cabal hell.
> People mean different things by "cabal hell", but the inability to
>         simultaneously install multiple versions of the same package,
>         compiled against different dependencies
> is certainly one of them, and I think it is the one that Yitzchak is
> referring to here.
> But some time now GHC has allowed multiple versions of the same package
> (compiled against different dependencies) to be installed simultaneously.
> So all we need to do is to fix Cabal to allow it too, and thereby kill of a
> huge class of cabal-hell problems at one blow.
> But time has passed and it hasn't happened. Is this because I'm
> misunderstanding?  Or because it is harder than I think?  Or because there
> are much bigger problems?  Or because there is insufficient effort
> available?  Or what?
> Unless I'm way off beam, this "multiple installations of the same package"
> thing has been a huge pain forever, and the solution is within our grasp.
> What's stopping us grasping it?
> Simon
> _______________________________________________
> Libraries mailing list
> Libraries at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Libraries mailing list