mirror of
https://github.com/ocaml-multicore/eio.git
synced 2025-10-05 00:04:45 -04:00
OCaml's `file_descr` type can be used after being closed. In the best case (the FD hasn't been reused), the kernel will return an error. However, it may also perform the operation on an unrelated FD, breaking modularity and causing bugs that are extremely hard to debug.
eioio -- effects based parallel IO for OCaml
This library implements an effects-based direct-style IO stack for multicore OCaml.
The library is very much a work-in-progress, so this is an unreleased repository.
Some background about the effects system can be found in:
- "Retrofitting Concurrency onto OCaml" (to appear, PLDI 2021)
- https://kcsrk.info/ocaml/multicore/2015/05/20/effects-multicore/
- Effects examples: https://github.com/ocaml-multicore/effects-examples/tree/master/aio
- Concurrent System Programming with Effect Handlers
- Asynchronous effect based IO using effect handlers
Languages
OCaml
94%
C
5.5%
Dune
0.3%
Dockerfile
0.1%