[Haskell] Re: Trying to install binary-0.4

Don Stewart dons at galois.com
Tue Oct 16 15:44:33 EDT 2007

> Several good points have been raised in this thread, and while I might not 
> agree with everything, I think we can all agree on the goal: things 
> shouldn't break so often.
> So rather than keep replying to individual points, I'd like to make some 
> concrete proposals so we can make progress.
> 1. Document the version numbering policy.
> We should have done this earlier, but we didn't.  The proposed policy, for 
> the sake of completeness is: x.y where:
>   x changes ==> API changed
>   x constant but y changes ==> API extended only
>   x and y constant ==> API is identical
> further sub-versions may be added after the x.y, their meaning is 
> package-defined.  Ordering on versions is lexicographic, given multiple 
> versions that satisfy a dependency Cabal will pick the latest.
> 2. Precise dependencies.
> As suggested by various people in this thread: we change the convention so 
> that dependencies must specify a single x.y API version, or a range of 
> versions with an upper bound.  Cabal or Hackage can refuse to accept 
> packages that don't follow this convention (perhaps Hackage is a better 
> place to enforce it, and Cabal should just warn, I'm not sure).

I agree. >= 1.0 isn't viable in the long term. Rather, a specific list,
or bounded range of tested versions seems likely to be more robust.

-- Don

More information about the cabal-devel mailing list