Shipments in Cabal

Simon Peyton-Jones simonpj at microsoft.com
Fri Dec 9 03:54:18 EST 2005


That's helpful, but I still don't understand.  I'm just Joe User.  I'd
like to install GTK.  I'd like to download one thing and install it. I
don't much mind whether it's called a "package" or a "shipment".

Here are three things we can do

a) Make it possible for a "package" to have multiple executables
b) Invent "shipments", which can have multiple executables, and get rid
of "packages"
c) Have both "packages" and "shipments".

Clearly (a) and (b) are essentially identical, modulo nomenclature.
They seem simpler than (c).  What is the merit of (c)?  Would Joe User
ever see or know about a package? 

Adding a summary of the reply to Duncan's wiki page would be useful I
think

Simon

| -----Original Message-----
| From: Krasimir Angelov [mailto:kr.angelov at gmail.com]
| Sent: 09 December 2005 08:43
| To: Simon Peyton-Jones
| Cc: Duncan Coutts; Haskell libraries
| Subject: Re: Shipments in Cabal
| 
| 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.
| 
| Cheers,
|   Krasimir
| 
| 2005/12/9, Simon Peyton-Jones <simonpj at microsoft.com>:
| > | 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?
| > http://haskell.org/hawiki/Cabal_2fMultiPackageDistributables
| >
| > Simon
| >
| > _______________________________________________
| > Libraries mailing list
| > Libraries at haskell.org
| > http://www.haskell.org/mailman/listinfo/libraries
| >


More information about the Libraries mailing list