OCaml 5.0 comes with the much awaited support for shared memory parallelism and concurrency. Shared memory parallelism via Domains allows OCaml programs to harness the power of multiple cores. OCaml is the first mainstream language to support effect handlers as a model for expressing concurrency. Initial results show tremondous performance improvements with Domains and Eio. The tutorial is intended to be an introduction to the new features in OCaml.
This tutorial will cover, with a set of examples and exercises:
Domains: Domains are the basic unit of parallelism supported by the standard library.
Domainslib: nested-parallel programming
Performance: Tooling support for profiling performance of parallel programs.
Effect handlers
Eio: Effects based direct-style IO for OCaml 5
Ecosystem: A quick primer on porting your applications to OCaml 5