Effects-based direct-style IO for multicore OCaml
Eio is an effects-based IO library for OCaml 5 that provides concurrent programming capabilities for multicore systems. It enables developers to perform operations like reading and writing files, making network connections, and running CPU-intensive calculations concurrently, using OCaml's effects system rather than monadic abstractions. Built on OCaml 5 and available through multiple platform-specific backends—including Eio_linux (using io_uring), Eio_posix, Eio_windows, and Eio_js for browser use—Eio aims to be fast, secure, well-documented, and easy to use. The library is maintained by the OCaml Multicore project and includes features for structured concurrency through switches, cancellation contexts, fibers, synchronization primitives, and capability-based security principles.