/ Ideas / Parallel traversal effect handlers for OCaml

This is an idea proposed in 2024 as a Cambridge Computer Science Part II project, and is currently being worked on by Sky Batchelor. It is supervised by Patrick Ferris and Anil Madhavapeddy as part of the OCaml Labs project.

Summary

Most existing uses of effect handlers perform synchronous execution of handled effects. Xie et al proposed a traverse handler for parallelisation of independent effectful computations whose effect handlers are outside the parallel part of the program. The paper [1] gives a sample implementation as a Haskell library with an associated λp calculus that formalises the parallel handlers. This project aims to:

Related reading

  1. Parallel Algebraic Effect Handlers describes the traverse effect

    ↩︎︎
  2. Retrofitting effect handlers onto OCaml, PLDI 2021 describes how the effect system in OCaml works.

    ↩︎︎
  3. EIO is a high-performance direct-style IO library we have been developing for OCaml.

    ↩︎︎

Related Ideas