10

我所说的“并发”是指轻量级进程,例如 Erlang 的 actor 和并发 GC,旨在使此类进程顺利运行。

如果 INRIA 能够摆脱当前 OCaml 实现的这些缺点,让 OCaml 为多核未来做好准备,那将是非常酷的。

PS F# 不是我想要的。

4

4 回答 4

9

如果不复制他的解释,我再简洁不过了。它不言自明。是的,这是从 2002 年开始的,但我没有听到他在这个问题上有所动摇,而且从文字来看,他似乎根本不可能放弃这些目标。

对于并发函数式编程的当前发展,可能 MPI 解决方案(使用 ocaml 绑定)可能是您问题的解决方案。显然这不是共享内存并行。还有并发 ML

于 2009-08-19T19:57:31.850 回答
2

J&oCaml,它是……</p>

Objective Caml加上 (&)连接演算,即 OCaml 扩展为并发和分布式编程。

于 2009-08-20T10:09:50.810 回答
2

似乎Jane Street资助了一个将 Concurrent GC 添加到 OCaml 的项目

于 2009-08-22T07:32:43.703 回答
0

标准库中的Thread 模块提供并发原语,并且已经存在了很长一段时间。还有提供更高级别/不同并发 API 的第三方

但听起来您将并发性和并行性混为一谈

OCaml 当然不会妨碍并行性。您可以同时在数千或数百万台机器上运行 OCaml。甚至还有MPI 绑定,可以更轻松地为大规模并行超级计算机编程。但是当前的参考 OCaml 实现不会自动并行化并发程序,我认为这是您真正更感兴趣的。

您可能对多核 OCaml感兴趣,它为共享内存并行提供了更好的支持,因为 SMP 计算机在过去几十年中变得非常普遍,更容易对其进行优化会非常好。他们似乎正在取得缓慢但稳定的进展,并试图把它做好。

于 2018-02-21T14:56:31.943 回答