Cabal 包稳定性领域的约定

发布于 2024-09-25 17:26:53 字数 449 浏览 0 评论 0原文

Cabal 允许使用自由形式的稳定性字段 :

稳定性:自由形式

<块引用>

软件包的稳定性级别,例如alphaexperimentalprovisionalstable

关于这些稳定性值的社区惯例是什么?什么是实验性,什么是临时?我看到只有少数软件包被声明为stable。到底是指什么样的稳定性,是暴露API的稳定性还是软件最终无bug的状态?

Cabal allows for a freeform Stability field:

stability: freeform

The stability level of the package, e.g. alpha, experimental, provisional, stable.

What are the community conventions about these stability values? What is considered experimental and what is provisional? I see only few packages are declared as stable. What kind of stability does it refer to, stability of the exposed API or the ultimate bug-free state of the software?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

拧巴小姐 2024-10-02 17:26:53

该字段现在大部分已不复存在,不应再使用。正如Max所说,未来它很可能会被一些有意义的东西所取代。

如果您对历史感兴趣,该领域起源于第一组 分层 Haskell 库。该文档描述了这些值的原始含义。

The field is mostly defunct now, and shouldn't be used. As Max said, it will probably be replaced by something meaningful in the future.

If you're interested in the history, the field originated in a design proposal for the first set of Hierarchical Haskell Libraries. That document describes the original intended meanings for the values.

护你周全 2024-10-02 17:26:53

目前这个字段对于库的稳定性来说是一个非常差的指导,所以大多被忽略。 Duncan Coutts(Cabal 和 Hackage 的主要开发者之一)表示,他最终计划用 Hackage 上的社交投票系统之类的东西完全取代这个领域。

就我个人而言(而且我并不孤单)我总是忽略稳定性场。考虑到它会消失,因此可能不值得为放入什么而失眠。

Currently this field is a very poor guide to the stability of the library, so is mostly ignored. Duncan Coutts (one of the main Cabal and Hackage developers) has said that he eventually plans to replace this field entirely, with something like a social voting system on Hackage.

Personally (and I'm not alone) I just always omit the stability field. Given that it's going to go away, its probably not worth losing any sleep over what to put into it.

姐不稀罕 2024-10-02 17:26:53

最初的含义是:

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

正如其他答案所指出的,社区似乎不再遵循这些准则。

正如 Simon Marlow 指出的那样,这在第一组分层 Haskell 库的设计提案中进行了描述。原始链接已失效,但您可以在 回程机

The original intended meanings were:

  • experimental: the API is unstable. It may change at any time, i.e.: any version number change;
  • provisional: the API is moving towards stability. It may be changed at every minor revision, but should provide deprecated versions of features;
  • stable: the API is stable. Only additions should be made at minor releases. After changes in the API, deprecated features should be kept for at least one major release.

As the other answers pointed out, the community seems not to be following these guidelines anymore.

As Simon Marlow points out, this is described in a design proposal for the first set of Hierarchical Haskell Libraries. The original link is dead, but you can find a copy in the wayback machine.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文