[Haskell-cafe] Correspondence between libraries and modules
Chris Wong
chrisyco+haskell-cafe at gmail.com
Sat May 26 03:04:56 CEST 2012
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-a-package-manager/
Hope that clears it up for you.
Chris
More information about the Haskell-Cafe
mailing list