Live data from Hacker News

Effective Concurrency with Algebraic Effects in Multicore OCaml

kcsrk.info

1–10 of 63 posts

Re: Effective Concurrency with Algebraic Effects in Multicore OCaml

#4
post #2

See also the actual roadmap[1] to the OCaml 5.0 - the first version of OCaml with Multicore upstreamed. [1] https://discuss.ocaml.org/t/the-road-to-ocaml-5-0/8584

> Note that OCaml 5.0 focuses on minimal (solid) support for the multicore runtime system, and will not provide stable user-facing concurrency and parallelism libraries.

Wouldn't hold my breath

Re: Effective Concurrency with Algebraic Effects in Multicore OCaml

#7

Something I rarely see addressed: why was multicore ocaml blocked on having full-fledged effects? Couldn't multicore have landed years ago, and then gradually insert effects in the language?

I guess to avoid nuking the ecosystem Python 3 style.

Re: Effective Concurrency with Algebraic Effects in Multicore OCaml

#9
post #4
post #2

See also the actual roadmap[1] to the OCaml 5.0 - the first version of OCaml with Multicore upstreamed. [1] https://discuss.ocaml.org/t/the-road-to-ocaml-5-0/8584

> Note that OCaml 5.0 focuses on minimal (solid) support for the multicore runtime system, and will not provide stable user-facing concurrency and parallelism libraries. Wouldn't hold my breath

Progress + report on OCaml multicore has been exceptionally well done for many months [0]? Quite big piece of work, impressive to see it materialising as general public availablity. I wouldn't be worried about higher level abstrations at this stage. Well done runtime part is the most important now.

[0] https://discuss.ocaml.org/search?q=Multicore

Re: Effective Concurrency with Algebraic Effects in Multicore OCaml

#10

Something I rarely see addressed: why was multicore ocaml blocked on having full-fledged effects? Couldn't multicore have landed years ago, and then gradually insert effects in the language?

Multicore upstreaming wasn't blocked on having fully-fledged effects. If you look at the diff between multicore 5.00 and trunk OCaml, the changes required for fibers is pretty small relative to the multicore GC and making the rest of the runtime thread-safe.

The original plan was to upstream only the multicore GC. This was sped up on the suggestion of the core developers and now 5.0 will bring parallelism and effect handlers (though without syntactic support for the latter).

https://discuss.ocaml.org/t/multicore-ocaml-september-2021-e... has a good explanation of effect handlers, syntax and what will be available in 5.0.

Post reply on HN