Cabal and installing packages.

Daan Leijen daan at
Fri Dec 3 14:19:22 EST 2004

Keean Schupke wrote:
> Simon Marlow wrote:
>> If you're on a system with a good package manager (i.e. *BSD, Debian,
>> Gentoo) then the plan is that this is all handled by the system package
>> manager.  We don't want to duplicate that work, and we want to coexist
>> with the system's package tools as much as possible.  Cabal will make it
>> easy to generate package skeletons for these systems.

Hi all,

I just wanted to say that I do agree with Keean here: A *simple* install
manager for Haskell modules with a central repository would be great!

Having said that, there are strong reasons for not doing this. The most
important one is that a good package manager is not trivial and there
already exist good package manager for many systems.

Still, for 90% of all potential Haskell libraries, we can get away with
a fraction of the effort of building a real package manager. This can
really work, as long as we stick with a *simple* solution that is 
clearly described and whose limits are well defined. If someone requests
something beyond the limits, we redirect to the OS package manager.
With a clear and simple design, an implementation should not require
too much effort or resources. (Actually, as I said before, a clear 
design with well defined limits is probably essential or otherwise the 
implementor will never be done :-)

Now, I do not propose to do this myself :-), but I surely think that if
there is anyone interested on this list on doing this, it would make a
great project. I really feel that a simple installation system for 
Haskell would help to move the language forward.

All the best,

> I find that even on package managed systems I use CPAN to install perl
> modules... I would have thought a nice central repository on
> (with mirrors of course) where users can contibute their packages, that
> would be built into a Haskell package tool would be useful even for
> systems where there is package management.
> I find that debian/gentoo etc do not have all the packages available
> for say perl, and it is nice to have a consistant interface on any 
> platform...
> I think the ability to do (something like)
>    > cabal install <package-name>
> and have everything done automatically would be a real advantage for 
> beginners, ie:
>    - download mirror list from
>    - find closest mirror using DNS tld
>    - download package
>    - resolve dependancies (ie call "cabal install" for each required 
> package
>       not on the system)
>    - configure package
>    - compile package
>    - install package (globally if root, locally if normal user)
> also the ability to do queries like:
>    > cabal list-packages -- lists all packages available from central 
> archive
>    > cabal find someRandomFunction -- returns name of package which 
> exports given function
> To do some of the cleverer queries would require a custom server 
> (perhaps darcs can do
> some/all of this)...
>    Keean.
> _______________________________________________
> Libraries mailing list
> Libraries at

More information about the Libraries mailing list