[Haskell-beginners] coming to grips with hackage

Michael Orlitzky michael at orlitzky.com
Thu Feb 6 22:47:42 UTC 2014


On 02/06/2014 12:59 AM, tam at hiddenrock.com wrote:
>> The most robust approach is to find or create distro packages for
>> everything you need.
> 
> How does this handle the situation where I want both package A and package B
> installed, but they each want a different version of package C?
> 

How would your distro handle it if those packages were written in C?
This isn't too much of a problem in practice. With Haskell it seems
worse because everything has conservative dependencies in a *.cabal file
and Cabal will refuse to build the thing unless they're met. When we
find a package that's too conservative, we mangle the dependencies on
the fly and report it upstream.

If there's a more serious conflict, sometimes both versions can be
installed side-by-side, but in general we have to file a bug and wait
just like if it was written in e.g. python.

But I see that as a good thing: I've got some 300 haskell packages
installed at the moment, and I know that they're all in a consistent
state (and up to date). It's pretty nice when people complain about
Cabal and you have no idea what they're talking about. I also do
development on three different machines, and it's handy to have them
running the same packages.



More information about the Beginners mailing list