“OCaml Batteries Included”有多稳定和广泛,是否值得推荐?

17

我在多年使用SML、Haskell和F#之后,又开始涉足OCaml,为了进行一个小的新研究项目。

当我使用OCaml库时,很快发现自己缺少一些东西,我也错过了使用单子理解的语法。

OCaml Batteries Included似乎正好填补了这些空白。但是我有点不确定它是否已经达到了成熟、稳定和广泛使用的程度适合用于此项目。我的怀疑部分原因来自安装时遇到的一些问题,包括发现当前的安装说明已经过时,只有通过谷歌搜索才最终找到了一个支持请求的答案,说明需要哪些内容。

Batteries相对稳定吗?(或者至少比上面说的更稳定?)
它的使用相对广泛吗?(例如,10%的新OCaml代码是否使用它?)
推荐用于哪些项目?
(特别是是否推荐用于一个中小型研究项目,该项目应该产生一个小型库,并可能长期维护。)
是否有其他建议?


1
我不知道有这么大的变化。我刚刚检查了Caml-list归档的每月消息计数,就其价值而言,在过去的四年中这些数字似乎没有太大变化:http://caml.inria.fr/pub/ml-archives/caml-list/index.en.html你能指出任何显示急剧下降的参考资料吗?或者,至少可以解释一下你是如何确定有一个急剧下降的情况的吗? 你有吗? - RD1
4
@Jon: 这是一个相当大胆的说法,如果你不能提供来自中立可靠的来源的数据支持,我是不倾向于相信的。 - bcat
2
@RD1和bcat:我刚刚删除了两个OCaml邮件列表的统计数据,发现它们在过去四年中持续下降,从2007年的每月663篇文章下降到现在的276篇(下降了58%)。与此同时,我们的与OCaml相关的产品销量在同一时期下降了60%,因此我们放弃了OCaml。Google趋势显示,搜索OCaml占比也有类似的下降趋势,下降了约60%。 - J D
1
当然,原因是OCaml在转向多核时被落下了。 - J D
@Jon Right- 我发布的链接是关于类似统计数据的,我想。从你最初提到的4年前到今年,差异较小。如果你选择663的峰值,那么是的,它会下降,但是如果你故意选择其最高点,任何事情都会下降。我认为情况是,在2007年左右有更高的OCaml活动水平,现在已经回归到之前的水平,我们将必须看看接下来会发生什么。我同意多核是一个问题 -也许JVM后端会有所帮助...(不过JVM中的尾调用是个问题)。 - RD1
@RD1:换句话说,OCaml邮件列表上的流量是过去10年中最低的。考虑到函数式编程现在正在蓬勃发展,这是一个非常强有力的陈述。 - J D
2个回答

12

半个免责声明:我是“Batteries Included”项目的开发人员之一。

就我所知,“Batteries Included”还没有得到很大的应用。我没有看到任何发布依赖于它的软件包。但仅凭这一点不应该阻止你使用它。希望随着它的不断成熟,它会受到更多关注。我个人在所有新的OCaml开发中都使用它,包括个人项目和研究工作。

在1.x版本周期内,预计会出现相当多的变化。我们致力于保持API在所有1.x版本中向后兼容,但是可能会添加新功能并弃用旧的模块/函数。其中许多应该是相当稳定的,尽管我们仍在发现和修复错误。但是,更多的人使用它并报告我们尚未看到的错误将大大有助于解决这些问题。

我们希望2.0版本会更加静态,并且在模块之间具有更高的一致性,但是2.0版本可能还有一段时间。

我的建议是:如果您曾使用Extlib,请使用Batteries。它吸收了Extlib的功能集(实际上是大部分代码),并且增强了它的功能。如果发现错误,请报告它们:)。


太好了,回答非常棒。从我的角度来看,这已经足够好了,所以我会使用它。 - RD1

9

我个人推荐OCaml Batteries Included。当然,这只是因为我是原始作者 :)

虽然使用还不是非常普遍,但它现在已经成为Debian/testing和Ubuntu Lucid Lynx的一部分,此外还有GODI,所以您可以期望许多人测试并发现其中的漏洞。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接