5 ms·
What are the problems of making Haskell from source? (I did it recently, and it takes a long time, and you have to install a bunch of other random things... But
by calibraxis 13y ago
What are the problems of making Haskell from source? (I did it recently, and it takes a long time, and you have to install a bunch of other random things... But at least it works in the end. I guess that sucks for devops?)
- chalst 13y agoI run into far more version conflicts installing Haskell software through Cabal than any other language environment. Fortunately there is a solution: cabal-dev gives you per-directory package repositories. From https://plus.google.com/u/0/111990768169655655719/posts/Se5eFQdAWk8 https://plus.google.com/u/0/111990768169655655719/posts/Se5e... > Cabal is a package manager that by default compiles packages either to a system database (if invoked as root/admin) or a per-user database. Since Haskell code is very often fussy about exact version numbers, and because Cabal offers essentially no way to uninstall packages, this is very painful. Cabal-dev is a front-end to Cabal that gives you per-directory repositories: suddenly conflicts go away, and you can remove packages by deleting the directory's repository and reinstalling everything again. It's a kludge, but it is very helpful. Cabal-dev: https://github.com/creswick/cabal-dev https://github.com/creswick/cabal-dev ---Postscript Or in stronger terms: http://comments.gmane.org/gmane.comp.lang.haskell.libraries/16922 http://comments.gmane.org/gmane.comp.lang.haskell.libraries/... > I would say, "You should never mutate your user or global package database" and recommend using cabal-dev. The way cabal-install does destructive updates is evil. In particular, it likes to mutate your global or user package database. You run the risk of building something and then breaking it later by mutating its dependencies.
- mercurial 13y agoAlternatively, hsenv is very good too (it's closer to Python's virtualenv)