3 ms·
Algebraic data types, monads, and things based around those have tons of business value for writing correct business logic for non-performance critical code. Yo
by UK-Al05 6y ago
Algebraic data types, monads, and things based around those have tons of business value for writing correct business logic for non-performance critical code. You get that in haskell.
Though admittedly you can get them other functional languages that are not quite as different. Like Ocaml.
- jolux 6y agoMonads 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.