Long-term success of Cabal configurations? (was: Stability vs latest features)

Stefan O'Rear stefanor at cox.net
Wed Aug 15 14:20:00 EDT 2007

On Wed, Aug 15, 2007 at 02:34:22PM +0100, Duncan Coutts wrote:
> Cabal configurations should make this situation better. Cabal does
> support ghc back to 6.2.2 and with a suitable .cabal file it should be
> possible to make most progs work with a range of compiler versions.

I'm not so sure.  Cabal configurations look like they will fix the
problem, but given a few years every .cabal file out there will look
like a pre-autoconf C program's config.h, just a huge tangle of feature
tests and conditional module usages...

I'd much prefer a situation where the (much smaller number of) library
authors carry the burden of compatibility; maybe something like

{- in base-2.0's .cabal -}

Provides: fps-1.0 by { Data.ByteString* }

... which unfortunately doesn't handle splits (FiniteMap etc) anywhere
near as well.

Why have package names, again?  It seems using modules names instead
would completely fix this problem, and with the small restriction that a
module name, once used, is not reused for something incompatible, solves
the versioning problem as well.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://www.haskell.org/pipermail/libraries/attachments/20070815/3186db1f/attachment.bin

More information about the Libraries mailing list