Cabal包装稳定性领域的惯例

时间:2010-10-01 16:38:19

标签: haskell cabal hackage

Cabal允许自由格式Stability field

  

稳定性:自由形式

     
    

包装的稳定性水平,例如alphaexperimentalprovisionalstable

  

关于这些稳定性价值观的社区惯例是什么?什么是experimental,什么是provisional?我看到只有少数包被声明为stable。它涉及什么样的稳定性,暴露的API的稳定性或软件的最终无错状态?

3 个答案:

答案 0 :(得分:11)

该字段现在大部分已不存在,不应使用。正如马克斯所说,它可能会被未来有意义的东西取代。

如果您对历史感兴趣,该字段源自第一组Hierarchical Haskell Libraries的设计提案。该文件描述了这些价值观的原始意图。

答案 1 :(得分:5)

目前这个领域对于图书馆的稳定性来说是一个很差的指南,所以大多数都被忽略了。 Duncan Coutts(主要的Cabal和Hackage开发者之一)曾表示,他最终计划完全取代这个领域,就像Hackage上的社交投票系统一样。

就个人而言(我并不孤单)我总是省略稳定性领域。鉴于它会消失,它可能不值得投入任何睡眠。

答案 2 :(得分:4)

最初的意图是:

  • 实验性:API 不稳定。它可能随时更改,即:任何版本号更改;
  • 临时:API正在走向稳定。它可能会在每个次要修订版本中更改,但应提供已弃用的功能版本;
  • 稳定:API 稳定。只应在次要版本中添加。更改API后,应至少保留一个主要版本的已弃用功能。

正如其他答案所指出的那样,社区似乎

正如Simon Marlow所指出的,这在第一组Hierarchell Haskell库的设计提案中有所描述。原始链接已失效,但您可以在wayback machine中找到副本。