寻找OCaml集成开发环境

21

我喜欢 F#,但有时我需要一些轻量级的、跨平台的且无需 .NET 的语言。我试过多次使用 OCamL,但好像就是开不起来。

  1. 安装了 IDEA,并添加了 OCamL 插件 -> 不起作用
  2. 安装了 eclipse ODT 插件 -> 无法启动,甚至配置 OCamL 编译器都太复杂了
  3. 甚至尝试过 NetBeans 插件,但连那个也处理不了。

所以,现在我使用命令行 shell 中的 ocamlc -o "main.exe" "main.ml" 以及不同的轻量级编辑器。我不使用 Vim 或 Emacs,我使用 nano,并习惯使用全功能 IDE。

我找到了各种文档(看起来对我来说这可能是最好的入门指南: http://caml.inria.fr/pub/docs/oreilly-book/html/index.html),但在查找一些类似 sqlite 访问的具体内容时仍感到困惑。我发现了这个网站:http://neugierig.org/software/ocaml/sqlite/,但其 API 注释奇怪且没有示例。我发现的所有 IDE 使用文档都已过时或不起作用。

附加问题:有些人告诉我“不要使用 OCamL,它是一种缺乏库支持且似乎正在消亡的面向学生的语言,建议改用 Python 或 Ruby”。但我喜欢 OCamL 的美感。我想试试。请告诉我现在在生产环境中使用 OCamL 是否正常?

谢谢。


5
作为一名以OCaml编程为职业的人,我可以向您保证它并没有死亡。这是本月它仍然表现良好的证明:http://dl.acm.org/ft_gateway.cfm?id=2038036&type=pdf 我希望下个月会有一个由我和其他约10人全职工作的软件的新版本发布。 - Pascal Cuoq
3
我的回答可以在这里找到(https://dev59.com/EmUq5IYBdhLWcg3wJNLg)-- 确保查看OCaml-top(http://www.typerex.org/ocaml-top.html)和Merlin(https://github.com/def-lkb/merlin)。 - lukstafi
4个回答

16

这里有一个 OCaml 的新开发环境,叫做 TypeRex,以下是 TypeRex 的特点:

  • 改进的语法着色
  • 标识符自动补全 (实验性质的)
  • 浏览标识符:显示类型和注释、跳转到定义、在替代定义之间切换以及语义 grep;
  • 严格保持语义一致的局部和整体程序重构:
    • 重命名标识符和编译单元
    • 打开消除和引用简化
  • 不重新编译,可能未保存缓冲区时更加稳定
  • 可扩展 (经常用于数百个源文件)

网站上提供了一些截图。第一个正式版候选版昨天发布。

编辑:第一个正式版 (v1.0) 现在已经发布了 :-)


1
很遗憾,v1只能在emacs上运行(而且仅限于Linux系统)。 - Pat
1
称TypeRex为IDE有点牵强,它只是一堆工具和库,用于支持OCaml开发。截至今天,还没有可用于OCaml的IDE。 - codelion

7
有几个选项可供选择:
  1. 已经提到了emacs的Tuareg:http://tuareg.forge.ocamlcore.org/
  2. vim有几个OCaml集成选项,其中一个很好的例子在这里:http://www.ocaml.info/software.html#vim
  3. OcaIDE似乎是Eclipse的最佳选择:http://www.algo-prog.info/ocaide/
  4. Geany、Komodo Edit和其他一些编辑器都支持OCaml的语法高亮显示以及一些独立于所使用的编程语言的额外的类IDE功能。其中大部分对OCaml具有有限的特定支持。

OCaml并没有死亡。OCaml的一些更为响亮的行业用户包括XenSource/Citrix和Jane St. Capital。该语言没有得到与其他一些语言相同的公共和社区推广。


6
还有一家初创公司正在使用OCaml提供商业级别的支持:http://www.ocamlpro.com/ - nlucaroni
OcaIDE现在出了问题。 - Bren

3
多年前,我非常喜欢Emacs的Tuareg模式http://tuareg.forge.ocamlcore.org/。但是如果您害怕使用Emacs,则它可能不是适合您的工具。
我特别喜欢Shell集成和“抛出”正在开发的函数并在Shell中测试的可能性。
编辑:对于子问题,OCaml似乎已经死亡,这很遗憾。但是您不能将其与Ruby/Python进行比较。我认为它的主要竞争对手是Haskell,它似乎变得越来越受欢迎。

嗯,Emacs 是一个庞大的东西(喜欢拿它说成几乎是一个操作系统的人很多),并且有一个陡峭的学习曲线。所以,是的,你可以编辑多个文件。我不知道你能不能轻松地从一个文件跳转到另一个文件(比如“跳转到我的光标下函数的定义”)。 - Tristram Gräbener
但是有许多基于OCaml的项目。至于Haskell,我不太确定。我尝试过使用Haskell,但它真的很不同。 - cnd
25
我完全不同意 Ocaml 已经死了的说法。虽然这门语言本身没有太多变化(这是一件好事情,表示它很稳定),但是还是有新的项目在 Ocaml 上进行开发。例如,请查看以下网站:http://opalang.org,http://www.janestreet.com。 - akoprowski
编辑:OCaml从来没死过。到目前为止它是最好的现存函数式编程语言。 - bobzhang
4
我觉得我们不能轻易地说OCaml已经死了。实际上,它可能是所有函数式语言中的工业用户最多的一种。我知道Jane Street公司在大量使用它,他们还开发了Core库(自己的标准库版本)和Async。《Real World OCaml》即将上市,类似于《Real World Haskell》,这可能会重新激起人们对该语言的兴趣。 - Zach Conn
显示剩余3条评论

-3
在搜索引擎中输入“ocaml ide”会显示http://camelia.sourceforge.net/作为第一个结果。虽然我没有测试过,但我无法确定它是否值得推荐。

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