
Rustom:
O well... If the noob trap is one error playing it safe is probably another so here goes with me saying things that I (probably) know nothing about: 1. cabal was a beautiful system 10 years ago. Now its being forcibly scaled up 2 (3?) orders of magnitude and is creaking at the seams
The problem is, Cabal is not a package management system. The name gives it away: it is the Common Architecture for *Building* Applications and Libraries. Cabal is to Haskell how GNU autotools + make is to C: a thin wrapper that checks for dependencies and invokes the compiler. All that boring not-making-your-package-break-everything-else stuff belongs to the distribution maintainer, not Hackage and Cabal.
2. There's too much conflicting suggestions out there on the web for a noob - use system install (eg apt-get) or use cabal
Use apt-get. Your distribution packages are usually new enough, have been tested thoroughly, and most importantly, do not conflict with each other.
- cabal in user area or system area etc
Installing with --user is usually the best, since they won't clobber system packages and if^H^Hwhen they do go wrong, you can simply rm -r ~/.ghc. For actual coding, it's better to use a sandboxing tool such as [cabal-dev][] instead. [cabal-dev]: http://hackage.haskell.org/package/cabal-dev
- the problem is exponentiated by the absence of cabal uninstall
See above. By the way, someone else a whole article about it: https://ivanmiljenovic.wordpress.com/2010/03/15/repeat-after-me-cabal-is-not... Hope that clears it up for you. Chris