If awa is purely functional, then it uses monadic I/O, instead of the impure I/O that is normally used by OCaml programmers?
If so, what’s the rationale for this project? I recently read a blog post about how much easier it is to do IO in OCaml (relative to Haskell) when you don’t have to use monads and monad transformer stacks, so I’d like to understand the other side of the issue.
I also would like to know what the interface is actually like. There’re no docs yet, and I don’t feel like delving into the source. At least some examples in the README would be helpful.
There can be benefits of making it monadic, but whether they outweigh the inconveniences of it remains to be seen.