View on GitHub Edit this page


Documenting everything about OCaml

Future of OCaml

Some interesting developments coming up in OCaml’s future:

Immediate Plans

Medium-Term Plans

Multicore OCaml

Currently, OCaml has a global runtime lock, with support for green threads (concurrency) via lwt and Async. The plan is to allow OCaml to run in parallel (which are termed domains), while also allowing for native green thread support.

See this post, the multicore ocaml github repo, and its associated wiki.

Long-Term Plans

Modular Implicits

A type-based dispatch similar to Haskell’s typeclasses.

See a video demonstration here. As this paper clarifies, creating typeclasses in OCaml is difficult due to its adherence to type abstraction. Put simply, you can have functors or type classes, but not both, and OCaml already has functors. While the community eagerly awaits this solution, its implementation unfortunately appears to be years away.

To see how complicated the solution is, see this response. You can follow some of the work that is taking place here and here.