← All repos

eio

Effects-based direct-style IO for multicore OCaml

concurrencyeffectsiomulticoreocaml
Browse cluster: OCaml Systems and Utilities
1,516commits
40contributors
6languages

Tech stack & purpose

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.

Community & reference links

Languages

OCaml
92.6%
C
6.9%
Dune
0.3%
Dockerfile
0.1%
Makefile
0.1%
Standard ML
0.0%

Contributors (top 30 of 40)