INRIA是否要为OCaml添加并发原语?

时间:2009-08-19 19:54:34

标签: concurrency functional-programming ocaml

“并发”是指像Erlang的actor和并发GC这样的轻量级进程,旨在使这样的进程顺利运行。

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

P.S。 F#不是我想要的。

4 个答案:

答案 0 :(得分:9)

no

如果不重复他的解释,我就不能更简洁。它说不出话来。是的,这是从2002年开始的,但是我没有听到他对这个问题的影响,从文本来看,他似乎很可能会退出这些目标。

对于并发函数式编程的最新发展,可能MPI解决方案(with ocaml bindings)可能是您问题的解决方案。显然这不是共享内存并行性。还有concurrent ML

答案 1 :(得分:2)

J&oCaml,这是......

  

Objective Caml加上(&)join calculus,即OCaml扩展用于并发和分布式编程。

答案 2 :(得分:2)

答案 3 :(得分:0)

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

但听起来你是conflating concurrency and parallelism

OCaml当然不会妨碍并行化。您可以同时在数千或数百台计算机上运行OCaml。甚至MPI bindings也可以让大型并行超级计算机的编程更容易。但是当前的参考OCaml实现不会自动并行化并发程序,我认为这是你真正感兴趣的。

您可能对Multicore OCaml感兴趣,它提供了对共享内存并行性的更好支持,因为SMP计算机在过去的几十年中变得非常普遍,并且更容易针对它们进行优化会非常好。他们似乎正在缓慢而稳定的进步,并努力做到正确。