Eio 0.1 - effects-based direct-style IO for OCaml 5

Having used Eio for a little while now I would highly recommend giving it a go. For example, I converted a (work in progress) stun client to direct-style very quickly and went from four opam packages to one! I had to implement some features which are either upstreamed or in-progress to being upstreamed (the client still uses my original fork of Eio).

Yes! There’s actually a much closer to upstream branch I’m working on that looks very like the luv implementation (coming soon…).

I’ve also been working on a multicore monorepo that uses the opam-monorepo tool to provide a quick way to get up and running with OCaml 5.00.0+trunk and some of the experiments and libraries in awesome-multicore-ocaml (e.g. the direct-style dream that uses lwt_eio). The idea being you should only need to:

git clone https://github.com/patricoferris/ocaml-multicore-monorepo
cd ocaml-multicore-monorepo
opam switch create 5.00.0+trunk
opam install dune.2.9.2
dune build

Trunk is a moving target so things might break, feel free to open issues if something does :)) Of course, if you just want the Eio libraries it is easier to install them on a 4.12+domains switch as mentioned.

3 Likes