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.

Opam 103: Bootstrapping a New OCaml Project with opam

Curious about the origins of opam? Check out this short history on its evolution as the de facto package manager and environment manager for OCaml. Welcome back to the opam deep-dives series! Finally - you've asked for it since our very first opam deep-dive: it's time to explore the developer side o...

19 Apr 2025

OCamlPro

Read Article
Outreachy December 2024 Demo

The OCaml community participated in the December 2024 round of [Outreachy internships](https://www.outreachy.org). One intern worked on a tool for diffing OCaml APIs. This meeting was an opportunity for our intern to present their work and for ...

17 Apr 2025

Watch OCaml

View Video
Sometimes the yak needs a trim

Since presenting Relocatable OCaml at OCaml Dev Meeting, I have been playing whac-a-mole with our CI systems, working towards getting finalised branches for the work ready for upstreaming. Eventually, it got to me, and I realised it was possibly time to come up with a better test environment for these changes.

15 Apr 2025

David Allsopp's Blog

Read Article
Expanding Dune Package Management to the Rest of the Ecosystem

Explanation of our learnings from attempting to build all Dune packages in opam-repository using Dune package management.

11 Apr 2025

Tarides

Read Article
Elementary, my dear Watson

Overall, I enjoy bug-hunting. Getting there can be really quite tortuous, via the fairly typical “oh my goodness, why do I do this?”, but there’s something inordinately satisfying about arriving at a complete and convincing explanation not only for what is going wrong but also for why it was only sometimes wrong. I find the satisfaction is in inverse proportion to the size of the fix then required: the best of these fixes have pages of explanation followed by a miniscule diff. A couple of old personal scalps of mine include the path from a random failure in a debugger test (see ocaml/ocaml#9043) only seen with specific-code-alignment-on-one-CI-worker to a missing GC root registration fixed in ocaml/ocaml#9051 (and which I’d allowed to become masked in the past by automatically allowing re-running ‘unstable’ tests in ocaml/ocaml#401; a technique I’d strongly recommend never using again!) and the relationship between Unix.fork only failing on every other invocation in the OCaml REPL on Cygwin, and an unstable topological sort (see cygwin/cygwin#226f694). My personal favourite is not mine, though, which is the wonderful alignment of compiler planets required in ocaml/ocaml#10071. Obligatory xkcd.

11 Apr 2025

David Allsopp's Blog

Read Article