3 ms·
Monads are so cumbersome to implement and consume in OCaml that they are not very commonly used. Jane Street Core has monadic abstractions for things like async
by jolux 6y ago
Monads are so cumbersome to implement and consume in OCaml that they are not very commonly used. Jane Street Core has monadic abstractions for things like async but it’s a pain without syntax extensions.
- lpage 6y agoThat was true until 4.08. OCaml now supports monadic let bindings, and more generally, user defined let bindings [1]. You get the benefits of ppx_let (Jane Street) but in a more general and syntactically nicer form. I still wouldn’t call it as nice as do notation in Haskell but it makes monads highly usable in OCaml without the need for an external dependency. [1]: https://github.com/ocaml/ocaml/pull/1947 https://github.com/ocaml/ocaml/pull/1947
- jolux 6y agoWow, I completely missed this! Nice.