Cabal interface changes proposal

Krasimir Angelov ka2_mail at
Tue Nov 23 04:03:39 EST 2004

--- Isaac Jones <ijones at> wrote:
> -= Changes to package description file =-
> I can imagine a cabal package (wxhaskell) which has
> more than one
> "haskell package" / library in a single source tree.
> We might like to have more than one "haskell
> package" per "cabal
> package".  That is, installing a single cabal
> package, Foo, might make
> "-package bar -package bang" available to the
> compilers.
> So I propose that we add the ability to have
> multiple libraries, just
> as we can currently do multiple executables.
> Right now, there's no great way to do this, besides
> perhaps having
> multiple directories with multiple Setup.lhs files. 
> The downside to
> this is that it might make the description file a
> little more complex,
> though in the simple case, it won't change much. 
> What do folks think?

I am strongly advocating to have one to one
correspondence between Cabal packages and Haskell
packages. It would be even simpler if in each Cabal
package we have only one library or only one
executable. I like the Simon's proposal of shipments.
If we need a package with one library and multiple
executables we can use shipment too. Currently we have
Setup.description for each package. I propose to
change the name to Package.description and to
introduce Shipment.description file. The latter will
contain the name of shipment and the list of
Package.description files in it. The Cabal package
should export defaultMain and defaultShipmentMain
functions, where the former builds a single package
while the latter builds a shipment.


Do you Yahoo!? 
The all-new My Yahoo! - Get yours free! 

More information about the Libraries mailing list