Shipments in Cabal

Krasimir Angelov kr.angelov at
Fri Dec 9 03:42:53 EST 2005

Cabal already supports multiple executables in one package but only
one library.
The problem is that the current implementation is just a hack. The
shipment allows to pack multiple packages in one tar.gz file and to
build them together. Each package will have only one library or only
one executable and this resumes the symmetry between executables and
libraries. I found that this simplifies the code a lot.


2005/12/9, Simon Peyton-Jones <simonpj at>:
> | I started off from the assumption that "shipments" are necessary and
> | obviously beneficial. However after thinking about it for a while and
> | thinking through some of the implications (especially on dependency
> | resolution) I'm not not so convinced that we need shipments as such.
> I have not been following this thread much, but my original
> understanding was precisely that
>        A Cabal package *is* the unit of distribution
>        Indeed, that's what it is for
> I'm entirely unclear why new need some other larger unit.  Yes, a Cabal
> package may depend on other Cabal package, but those dependencies are
> explicit in the package descr file, and Cabal-get can follow the links.
> Any larger unit (shipments) will also have dependencies that need to be
> followed, in just the same way, so I don't understand what has been
> gained.
> I'm probably missing something, but perhaps someone can write down the
> reasoning on Duncan's Wiki page?
> Simon
> _______________________________________________
> Libraries mailing list
> Libraries at

More information about the Libraries mailing list