Blog

The OCaml Planet RSS

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.

OCaml in Space: SpaceOS is on a Satellite!

Our sister company Parsimoni sends OCaml into space aboard DPhi Space's Clustergate ride-sharing platform to test the cababilities of SpaceOS.

03 Apr 2025

Tarides

Read Article
Everything is a file; except when it’s not

Some titles make more sense than others. One of my oldest contributions to OCaml was a complete overhaul of Unix.stat et al in ocaml/ocaml#462 which formed part of OCaml 4.03. As part of the work on msvs-detect in late 2015, I’d ended up with a Windows 7 VM which had every single version of Visual Studio back to Visual Studio 6.0. Visual Studio (and Visual C++ before that) has always included the source code for the C Runtime Library (CRT), and as a side-effect of having all these installed Visual Studios, I was able to construct a Git repository showing the evolution of the CRT code over each release (sadly, the licence doesn’t allow this to be pushed publicly). This was particularly useful for studying how the behaviour of the stat implementation had changed over time, particularly with reference to Windows Vista’s symlinks. Anyway, that particular bit of work left me with a habit of often reaching for the CRT whenever something weird’s happening, and that’s led naturally to a fairly detailed bug-fix - and outline for more bug-fixes - in OCaml.

03 Apr 2025

David Allsopp's Blog

Read Article
Updating Docker and Go

For some time, we have had issues on Ubuntu Noble when extracting tar files within Docker containers. See ocaml/infrastructure#121. This is only an issue on exotic architectures like RISCV and PPC64LE.

01 Apr 2025

Marc Elvers

Read Article
Installation order for opam packages

Previously, I discussed the installation order for a simple directed acyclic graph without any cycles. However, opam packages include post dependencies. Rather than package A depending upon B where B would be installed first, post dependencies require X to be installed after Y. The post dependencies only occur in a small number of core OCaml packages. They are quite often empty and exist to direct the solver. Up until now, I had been using a base layer with an opam switch containing the base compiler and, therefore, did not need to deal with any post dependencies.

31 Mar 2025

Marc Elvers

Read Article
PPXLib is not just for transforming code

ppxlib is usually just thought of as a tool for transforming OCaml code, but it can be used to generate new code too.

31 Mar 2025

Chris Armstrong

Read Article
Why F#?

If someone had told me a few months ago I’d be playing with .NET again after a 15+ years hiatus I probably would have laughed at this.1 Early on in my career I played with .NET and Java, and even though .NET had done some things better than Java (as it had the opportunity to learn from some early Java mistakes), I quickly settled on Java as it was a truly portable environment. I had some C# courses in the university and I wrote my bachelor’s thesis in C#. It was a rewrite of Arch Linux’s pacman, running on Mono. This was way back in 2007. ↩

30 Mar 2025

Bozhidar Batsov

Read Article