
-----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-----