Blog
The OCaml Planet
Articles and videos contributed by both experts, companies and passionate developers from the OCaml community. From in-depth technical articles, project highlights, community news, or insights into Open Source projects, the OCaml Planet RSS feed aggregator has something for everyone.
Want your Blog Posts or Videos to Show Here?
To contribute a blog post, or add your RSS feed, check out the Contributing Guide on GitHub.
There has been a new release of OCaml! The 5.2 release brings several new features, along with improvements, optimisations, and bug fixes…
Article about replacing opam with nix for a easier life
The stable opam 2.2 and a fully Windows compatible ecosystem of OCaml libraries and tools are getting closer every month. That's extremely…
This is the seventh in a series about locals in OCaml. This episode explains the challenges around tail-call optimization and how to keep local variables from escaping their region. I introduce the [@nontail] annotation to prevent tail-call optimization, which is often needed when writing code with locals. Code used in this video: https://github.com/goldfirere/janestreet-videos/blob/main/locals/07-tails/local.ml View instructions to get the compiler I use in this video: https://github.com/janestreet/opam-repository/tree/with-extensions
This is the seventh in a series about locals in OCaml. This episode explains the challenges around tail-call optimization and how to keep local variables from escaping their region. I introduce the [@nontail] annotation to prevent tail-call optimization, which is often needed when writing code with locals. Code used in this video: https://github.com/goldfirere/janestreet-videos/blob/main/locals/07-tails/local.ml View instructions to get the compiler I use in this video: https://github.com/janestreet/opam-repository/tree/with-extensions
Welcome to a new episode of The Flambda2 Snippets! Today's topic is Loopify, one of Flambda2's many optimisation algorithms which specifically deals with optimising both purely tail-recursive and/or functions annotated with the [@@loop] attribute in OCaml. A lazy explanation for its utility would be...