This release adds "binding operators," which make functors, applicatives, and monads more convenient to use. The "binding operators" are like OCaml's version of Haskell's do-notation, but IMO even better. In Haskell's do-notation, each binding in the form of `pat <- expr; next` desugars to monadic bind, with an extension to use applicatives instead where possible, but with OCaml's binding operators, there are three separate operators for functors, applicatives, and monads.<p>The 4.08.0 release also adds the Fun, Option, and Result modules to the standard library.
It doesn't get said very much but the ML ecosystem is full, complete, and very much production quality. It is a shame that there are not many projects or companies that make use of all that it has to offer.
I'm not entirely convinced that the let operators were a good idea. What's wrong with the ppx rewriter notation (let%bind = ...)? That's, after all, what it's for: provide custom extensions to the language syntax.<p>Quality of life improvements in the standard library are maybe the biggest deal for me (since I don't use any stdlib replacement like Batteries or Base). Stuff like the Int, Bool, Option, etc. modules, or filter_map... It's mind boggling how they've only been added now (but good thing they were).
I'm a Haskeller, but it's great to see OCaml improving significantly with every release. It's a win for typed functional programming in general.
“Many error messages were improved.”<p>A few months ago someone on HN mentioned that error messages would be greatly improved in this release, which would make learning OCaml much easier.<p>Does anyone have more details on this?
If they had Unicode support and multicore support in the language I'd be a lot more interested.. hopefully in five or ten years we'll get there.
Getting a 404 here: You can find more details at <a href="https://ocaml.org/releases/4.08.0.html" rel="nofollow">https://ocaml.org/releases/4.08.0.html</a>