[Haskell-cafe] Why does Haskell PVP have two values for the major version? "A.B..." and a couple other questions

Erik Hesselink hesselink at gmail.com
Tue Dec 16 11:00:19 UTC 2014


On Tue, Dec 16, 2014 at 11:49 AM, Roman Cheplyaka <roma at ro-che.info> wrote:
> On 16/12/14 12:36, Johan Tibell wrote:
>> On Tue, Dec 16, 2014 at 2:42 AM, Zach Moazeni <zach.moazeni at gmail.com
>> <mailto:zach.moazeni at gmail.com>> wrote:
>>     Another question, by far most packages I have encountered either
>>     lead with a 0 or a 1 for "A". Does that have some bearing on the
>>     long term stability that package users should expect in the future?
>>
>>
>> This is something that happens a lot in open source, in Haskell or
>> elsewhere. We We programmers are afraid of calling something 1.0,
>> because that somehow means "done", which we never (think we) are. :)
>> Lots of really stable Haskell libraries (e.g. containers) are still on
>> version 0.X.
>
> Upper bounds contribute to this problem, too.
>
> Suppose you've decided that 'containers' is stable enough to be at 1.0.
>
> Now all packages need to be updated, because they most probably depend
> on 'containers < 1' or tighter.
>
> We saw something similar with text, people got angry.
>
> If a library becomes popular before it reaches 1.0, it probably never will.

I don't understand this. How is bumping 'A' different from bumping
'B'? You could just bump 'A' (to 1, for example) instead of 'B' when
you make an API breaking change, and it's no extra effort for people
who depend on you.

Erik


More information about the Haskell-Cafe mailing list