为什么haskell版本控制策略有两个主要版本的地方,而不是像语义版本一样?

时间:2016-05-13 04:44:17

标签: haskell versioning

我理解推断主要版本和次要版本的时间和原因。但是对于轻微的A.B和未成年的C有什么意义?我什么时候应该A以及何时B?为什么我们没有semantic versioning政策中的主要版本只有一个地方?

1 个答案:

答案 0 :(得分:5)

有很多变化需要主要的版本碰撞,但实际上是对库的小改动。添加FunctorTraversable实例等内容的变化非常小,但需要进行重大版本修改。从api中删除函数需要一个主要的版本冲突。

但是许多库也经历了巨大的更改。整个重写API。更改核心类型和函数的语义。替换整个事物以寻求更好的抽象。

前者更改要求更新B.后者更新为A.当然,判断调用是在中间进行的。但粗略的规则是,对于需要主要版本碰撞的小事物,B会增加,并且对于重大的API更改,A会增加。