为什么haskell版本控制策略有两个主要版本的位置,而不是语义版本控制中的一个位置?

为什么haskell版本控制策略有两个主要版本的位置,而不是语义版本控制中的一个位置?,haskell,versioning,Haskell,Versioning,这个问题是关于这个问题的 我理解我们应该在什么时候和为什么要碰撞主要版本和次要版本的原因。但是,对于大调和小调,A.B和C有什么意义呢?我应该在何时碰撞A和B?为什么我们不能像在策略中那样只有一个主版本位置?有许多更改需要主版本通气,但实际上是对库的小更改。添加函子或可遍历实例之类的操作都是非常小的更改,但需要一个大版本。从api中删除函数需要一个主要版本 但是很多图书馆也经历了巨大的变化。API的全部重写。更改核心类型和函数的语义。替换整个内容以寻求更好的抽象 以前的变化需要对B进行更新,后者

这个问题是关于这个问题的


我理解我们应该在什么时候和为什么要碰撞主要版本和次要版本的原因。但是,对于大调和小调,A.B和C有什么意义呢?我应该在何时碰撞
A
B
?为什么我们不能像在策略中那样只有一个主版本位置?

有许多更改需要主版本通气,但实际上是对库的小更改。添加
函子
可遍历
实例之类的操作都是非常小的更改,但需要一个大版本。从api中删除函数需要一个主要版本

但是很多图书馆也经历了巨大的变化。API的全部重写。更改核心类型和函数的语义。替换整个内容以寻求更好的抽象

以前的变化需要对B进行更新,后者需要更新。当然,中间有判断性的调用。但粗略的规则是,对于需要大版本升级的小事情,B是递增的,而对于重要的API更改,a是递增的