[Haskell-cafe] Re: [Haskell] Re: Trying to install binary-0.4
Ketil Malde
ketil+haskell at ii.uib.no
Mon Oct 15 10:10:18 EDT 2007
"Claus Reinke" <claus.reinke at talk21.com> writes:
> if this is the "official" interpretation of cabal package version numbers,
> could it please be made explicit in a prominent position in the cabal docs?
Me too. This is not a criticism nor endorsement of any particular
scheme, just a vote in favor of having a - one, single, universal -
scheme.
> of course, i have absolutely no idea how to write stable packages under
> this interpretation. and the examples in the cabal docs do not explain this,
> either (neither "bar" nor "foo > 1.2" are any good under this interpretation).
You need a way to specify "foo > 1.2 && foo < 2", which is a
suggestion that was tossed around here recently. Also, you'd need
foo 1.x for x>=2 to be available after foo-2.0 arrives.
'base' aside, I don't think we want a system that requires us to
rename a library any time incompatible changes are introduced.
The major/minor scheme has worked nicely for .so for ages. I'd like
to make the additional suggestion that a major version number of 0
means no compatibility guarantees.
>> Another reason not to change the name of 'base' is that there would
>> be a significant cost to doing so: the name is everywhere, not just
>> in the source code of GHC and its tools, but wiki pages,
>> documentation, and so on.
Much like 'fps', now known as 'bytestring', no? I had some problems
finding it, true, but the upside is that old stuff is free to
reference fps until I can get around to test and update things.
> how about using a provides/expects system instead of betting on
> version numbers? if a package X expects the functionality of base-1.0,
> cabal would go looking not for packages that happen to share the name,
> but for packages that provide the functionality. base-not-1.0 would
> know that it doesn't do that. and if there is no single package that
> reexports the functionality of base-1.0, cabal could even try to consult
> multiple packages to make ends meet
Scrap cabal in favor of 'ghc --make'? :-) Seriously though, how hard
would it be to automatically generate a (suggested) build-depends from
ghc --make?
-k
--
If I haven't seen further, it is by standing in the footprints of giants
More information about the Haskell-Cafe
mailing list