In this blogpost, I'm going to show you how the data-race-freedom mode system works on the experimental OxCaml branch of OCaml. I recently took part in a Tarides project to test out these modes to evaluate their potential in making future multi-domain OCaml tools a reality, in particular a multicore Merlin , OCaml's editor service (those of you on our mailing list may know what I'm talking…
The newest version of OCaml is officially out! The latest update comes with several improvements. Of note are Relocatable OCaml, Garbage Collection Pacing changes boosting overall performance, polymorphic function parameters, and several bug fixes. This post will take you through some of the biggest changes, so let’s get started! Polymorphic Function Parameters Prior to 5.5, OCaml’s functions were…
You have seen the social media debates: one person says functional programming is dead and no one cares, the other says it could solve every problem you ever have. How do you know what to think? Reality is (as usual) not quite so simple, and the evidence is present in the mainstream languages you probably use every day. For example, Python supports list comprehensions and higher-order functions,…
We are making it easier to get started with OCaml! We support the growth of the OCaml community, and feedback suggests that installation is a common pain point for newcomers. To improve their experience, we need to ensure that the pathways to installation and setting up projects are smooth. Recently, this effort has produced a walkthrough in VSCode for setting up OCaml, essentially a ‘one-click…
The I/O library Eio , which uses effects and direct-style concurrency, was released in 2024. Since then, users have seized the opportunity to test it in their own projects , and several OCaml devs have ported applications to Eio. Now, with a new library called ciao-lwt , users can automate part of the migration process from Lwt to Eio. One of our engineers, Jules Aguillon, has been developing the…
2025 was a good year for WASM support in OCaml! In February 2025, we announced the full release of Wasm_of_ocaml (also known as WSOO), a compiler translating OCaml bytecode to WebAssembly. Since then, our teams have been working on different improvements to the OCaml ecosystem, including boosting the performance of WSOO. WSOO is already known for its speed. Users switching from Js_of_ocaml (JSOO),…
The team behind the documentation tool odoc have been hard at work on the latest update. The recent update from odoc 2.x to odoc 3, (now 3.1!), brings new features that make navigating documentation easier and give authors more customisation options. Fortunately for users of OCaml.org , its package documentation pages now use odoc 3! This post will give you an overview of odoc , the new features,…
We are happy to announce the release of the new ocaml.nvim plugin! It provides Neovim users with access to advanced ocaml-lsp features without getting involved in complicated editor-side logic. Think of it as the Neovim sibling of the Emacs plugin ocaml-eglot – which we have also covered on the blog – simplifying maintenance while still providing custom OCaml features. This is part of Tarides'…
The biggest functional programming conference on the calendar took place in Singapore from October 12 to 18 this year. With a jam-packed schedule featuring talks, workshops, and events, ICFP 2025 brought together passionate functional programming developers from around the world. As an active contributor to the OCaml ecosystem, Tarides is committed to supporting the growth of this vibrant…
The team of people working on editors and editor support at Tarides is excited to announce the release of ocaml-eglot ! The project is part of Tarides’ efforts to improve the OCaml developer experience across different platforms and workflows, a high-priority goal continuously evolving with community feedback. Bringing Emacs integration to OCaml’s LSP server benefits both the user and the…