
Sven Panne
Given a normal Linux distribution, the *only* sensible way to install/remove/... any SW is not via some specialized tools like cabal-foo or hackage-bar, but via tools like rpm, apt-get, smart, ... and their related GUI frontends.
Right. And one of the explicit goals of Cabal was to provide enough infrastructure on the Haskell side to make it easy for rpm/apt/smart builders to do their job. The idea was that Cabal is a minimal but compiler-independent interface to build source code, register libraries with a compiler's package database, and so on. Then an RPM/whatever can be used to install/uninstall the library package (internally calling the Cabal routines to build/register it). Cabal-get and hackage do go a bit beyond that, but they are intended for those who do not live in an OS-package managed universe (or who don't want to).
Another thing is that I fear duplication of features like e.g. package signing, handling installation sources, searching for new packages, notification of updates, etc.
Sure, there are already so many OS package managers out there... :-) I don't think we want to duplicate all those "advanced" features in Haskell. But I do think it would be useful to provide some of the basic package manager services (auto-download, auto-dependency validation) for those who do not have a package manager. Keep it simple though. If a user starts to need more features, then she should probably look into just using rpm/apt/smart/ports instead. Regards, Malcolm