How does dependency hell happen in Cabal-install?
I read the following at Cabal/Survival - HaskellWiki:
1. What is the difficulty caused by Cabal-install?
The main difficulty with Cabal is otherwise known as 'dependency hell', in which the cabal-install does not manage to install a desired package for a reason or another, leading to large amount of manual work. As an example of this difficulty, consider a case where the user wishes to install packages A and B. Both of these work with package C, but not with the same version of C.
I understand why this would make sense generally, but not with Cabal-install/ghc-pkg, because you can have multiple versions of the same package installed.
It's as if every version is an entirely different package, with how that in many respects the version becomes a part of the package name (e.g. mustaches-0.1.0.0
) -- and maybe it really is for ghc-pkg (I'm not entirely familiar with it, but it would make sense).
nix
(which is purely functional) but as portable as the Haskell platform. Even better, something where I can click "download" on hackage and it just happens, without clobbering anything. } – AndrewC