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.
Source
Keyword
Year
Author
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.
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.
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.
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.
With the start of Advent comes a new set of Advent of Code problems. My code is available at mtelvers/aoc2025.
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.
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?
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.
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.
Transpose If we are to represent a row of a matrix as a list of numbers, then a matrix can naturally be re...





