For almost as long as I've been programming, I find Ocaml a fantastic language, which just lacked some development tools and improved concurrency. I still believe that under the right circumstances it could become a mainstream language.
I heard that 5.0 does not include (user visible) effects (yet?).<p>Is this planned for after 5.0? Anywhere I can learn more?<p>Getting an effects system with handlers in a (semi)large and mature language is a pretty big step.<p>The Koka language [1] has a brilliant implementation of algebraic effects. Sadly it's a research language that doesn't see much development.<p>[1] <a href="https://koka-lang.github.io/koka/doc/book.html#why-handlers" rel="nofollow">https://koka-lang.github.io/koka/doc/book.html#why-handlers</a>
Whenever an OCaml post comes up the biggest comment about the language was "no concurrency/parallelism". I hope this brings more people into the OCaml world.<p>Awesome job to all the devs.
Hoping this release will bring the below advantages.<p>1. A statically compiled language with GC-d runtime, which compiles quicker than golang<p>2. Something that brings algebraic effects to the mainstream and with it an arguably better model for concurrency / parallelism<p>3. Support value types to take advantage of modern CPU caches<p>Finally golang finds some real competition (from a very unlikely source though). Hoping ReasonML will become more popular with this release with true parallelism and nice concurrency.
Can't wait for tinkering with OCaml when 5.0 is stable. Pretty sure the community will invent amazing libraries for parallel computation as well.<p>Maybe finally Rust+tokio projects will have some actual competition!
Checked in OCaml a few years ago. I remember there being plans for improved concurrency/parallelism, set for the future. Any progress on this in this release?