This library defines generic I/O streams of bytes. The streams should be composable, user-definable, and agnostic to the underlying I/O mechanism; with OCaml 5 it means that they might be backed by an effect-based scheduler.
The goal is to provide a reasonable interoperability layer that multiple libraries and applications in the OCaml ecosystem can rely on, while providing the modularity that standard IO channels lack. Modern statically typed languages like Go and Rust provide this layer in their stdlib and their whole ecosystem can build on it.
https://c-cube.github.io/ocaml-iostream/
MIT license.