hackage.haskell.org文档惯例含义

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (13)

下面的细节是什么(给一个绝对的Haskell初学者)?

可移植性:可移植性(可移植性值是什么?)

稳定性:临时的(稳定值还有哪些?)

维护者:Library@haskell.org

安全(有什么不安全的东西吗?)

提问于
用户回答回答于

字段来自包的.cabal文件,其中列出包的一些元数据。许多字段可以有自由形式的值,因此开发人员可以为他自己决定在该字段中编写什么,并且每个字段不能包含的内容没有固定的“规则”。

便携性:描述包在Haskell编译器之间以及有时在操作系统之间的可移植性。我看到的唯一的价值是“可移植”和“不可移植”。不可移植的包可能依赖于仅存在GHC编译器,并且不适用于任何其他Haskell编译器,或者这可能取决于某些系统库,这些库只存在于UNIX中,在Windows中不起作用。

稳定性:指定库的稳定性,包括它的可靠性(例如它崩溃的频率),但最重要的是它的API变化的频率。我已经看到了“实验性”、“临时”和“稳定”的值,但可能会有一个包含更多内容的列表(Cabal文档中的内容有时是找不到的)。当一个包是实验性的,这意味着它的接口可能在每个版本之间发生变化,因为开发人员还没有决定如何实现它,或者因为开发人员只是从某个地方实现了一些理论功能,并且不打算维护包;s/他只是想实现这个功能,看看它是否可能,并且正在发布包作为演示。当一个包是临时的,这意味着通用API是稳定的,这样可能会对这个包进行更新,只修复内部错误,而不添加或删除任何函数。但是,由于它是临时性的,所以将来当开发人员决定添加新特性或重组库时,它可能会发生变化。有了一个稳定的库,这基本上就不会发生;API可能永远不会改变,实现是“坚如磐石”或API或其他什么的参考实现。

保持器对于包,是负责包的人或组。电子邮件指定如何联系到这些维护人员。

安全Haskell“字段是指GHC扩展,一个模块不安全使用类似于unsafePerformIO这违反了Haskell的一些基本“规则”,比如引用透明度。安不安全模块也可能使用不安全的语言扩展。阿安全模块是不使用任何不安全函数等的模块,也不导入任何其他不安全模块。

扫码关注云+社区