Cabal and simultaneous installations of the same package
Michael Snoyman
michael at snoyman.com
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.
[1] http://www.yesodweb.com/blog/2014/09/woes-multiple-package-versions
[2] https://github.com/fpco/stackage/issues/416
[3] http://www.yesodweb.com/blog/2014/02/module-name-conflicts
On Mon, Mar 23, 2015 at 10:45 AM Simon Peyton Jones <simonpj at microsoft.com>
wrote:
> 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 haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/cabal-devel/attachments/20150323/af120e2e/attachment.html>
More information about the cabal-devel
mailing list