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.

Lists that keep track of their reversal

Summary of a small discussion on how to track, at type level, whether a list is constructed forwards or backwards. It remains to be seen whether this will be useful in everyday life, but the proposal is driven by a specific issue.

30 Sep 2026

grim.cargocut.org

Read Article
How big is Europe?

Tessera produces global land-cover embeddings at 0.1-degree resolution, roughly 11 km square at the equator. For each year and each grid tile, there is a directory containing NumPy files of the embeddings.

21 Mar 2026

Marc Elvers

Read Article
Base Fibonacci

In Numberphile’s latest video, Tony Padilla does a ‘magic trick’ with Fibonacci numbers and talks about Zeckendorf decompositions, and I had my laptop out even before the video ended.

11 Jan 2026

Marc Elvers

Read Article
Advent of Code 2025

With the start of Advent comes a new set of Advent of Code problems. My code is available at mtelvers/aoc2025.

12 Dec 2025

Marc Elvers

Read Article
Depth-first topological ordering

Over the last few months, I have written several posts on the package installation graphs specifically, Topological Sort of Packages, Installation order for opam packages and Transitive Reduction of Package Graph. In this post, I’d like to cover a alternative ordering solution.

21 Jul 2025

Marc Elvers

Read Article
Sys.readdir or Unix.readdir

When you recursively scan a massive directory tree, would you use Sys.readdir or Unix.readdir? My inclination is that Sys.readdir feels more convenient to use, and thus the lower-level Unix.readdir would have the performance edge. Is it significant enough to bother with?

08 Jul 2025

Marc Elvers

Read Article
Learning OCaml: Verifying tail-recursion with @tailcall

How can you be sure that an OCaml function you wrote is actually tail-recursive? You can certainly compile the code and look at the generated assembly code, but that’d be quite the overkill, given there is a much simpler way to do this.

16 Jan 2024

Bozhidar Batsov

Read Article
Extensible Records in OCaml Using dmap

We show how it is possible to use dmap to implement extensible records (that is, records which can be extended with new fields after they have been defined) in OCaml.

20 Jun 2023

Thomas Letan’s Blog

Read Article
Transpose

Transpose If we are to represent a row of a matrix as a list of numbers, then a matrix can naturally be re...

12 Aug 2017

Shayne Fletcher

Read Article