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

Thomas Schilling nominolo at googlemail.com
Thu Aug 16 15:29:28 EDT 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


On 15 aug 2007, at 20.20, Stefan O'Rear wrote:
>
> 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.

How far would re-exporting imported modules bring us?  This would  
allow some sort of "virtual" packages (put in quotes, because I don't  
know how much this reflects the usage of this term in, e.g., Gentoo),  
which could at least solve package splits quite nicely.

Assume we have base-2.0.  Then the .cabal for base-1.0 could look  
somewhat like:

   build-depends: base >= 2.0, filepath, {- ... -}
   exposed-modules: Data.ByteString*, System.FilePath*, {- ... -}

I really don't like hacks with configurations like

   if flag(small_base) {
     build-depends: base >= 2.0, filepath >= 1.0, ...
   } else {
     build-depenhs: base >= 1.0 && base < 2.0
   }

since they have to be put in _every_ .cabal file.

/ Thomas
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)

iQEVAwUBRsSlmCuNq1ISBIDTAQJuiwf+LNA5Y0q3s9C+7BqRB/GG1Zs9tA73uYPz
2oEVcna8SGSZb+oRNXvKBg8vv0AHVxMIV6C9AiCXgm8N+BNuZPj9m38fYg+m1nZg
cRTBs5fT1Vn4cQNoa67gNQxLSuUxZpn3U4IGzCs7E0y1VAW2twVkyKua/XwZD8/K
3bVTSK9AfCJOdJHdrnvcFOKE3bbBYeyY9rsx+p6rZgstDpcdn/5zbH4n3ibQNJle
/OA5I8Uoe8fFYo+lSCxfOvgAjX5+CpJrMsiWHBYIKfHD/zAEJjPGsZ1CaGmAQ9DP
t5qYLj4meZdROEVkijlBKPCl2+eEfYciKVNq//D+Fr+UAF026wQpdQ==
=CCMd
-----END PGP SIGNATURE-----


More information about the Libraries mailing list