Cabal interface changes proposal

Hi all,
I like the idea of adding a layer on top of the current cabal to add
"shipments"... this would solve the problem of packages like gtk2hs and
wxhaskell mentioned by Duncan Coutts, and allows us to keep the core
cabal simple. Since it won't affect the core interface, I'll just push
that on the stack and worry about it later.
Krasimir suggested that a single cabal package should only have one
executable, but I don't agree. I can see the reasons for keeping a
one-to-one correspondence between a cabal package and a Haskell package,
but I actually really like the way cabal treats executables right now.
It's much simpler than libraries since it doesn't require a registration
step or anything. It just needs to know where to find main and what to
call the binary. As Duncan and Simon pointed out, multiple libraries is
actually a more complicated story.
So I would say that for now, let's keep the basic structure the same, a
single library and multiple executables are allowed in a cabal package
file, and hopefully we'll find time to implement "shipments" later so we
can bundle together several libraries. I hope that won't hurt anyone
too badly in the short term.
I'll go ahead and perform the other changes mentioned. Sound OK?
peace,
isaac