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.

File descriptors as integers considered harmful

Continuing the previous foray into file descriptors, and trying to remove Obj.magic both from ocaml-uring’s code itself, and from the recommended way for using it.

01 Oct 2025

David Allsopp's Blog

Read Article
File descriptors are not integers

There was a flurry of activity on ocaml-multicore/ocaml-uring this month leading to a release (ocaml/opam-repository#28604). ocaml-uring provides bindings to the Linux’s io_uring, which allows batching various syscalls to the kernel for it to execute out-of-order, and in parallel. Its principal use at the moment is for the high-performance Linux backend of Eio.

30 Sep 2025

David Allsopp's Blog

Read Article
Reflink Copy

I hadn’t intended to write another post about traversing a directory structure or even thinking about it again, but weirdly, it just kept coming up again!

15 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
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.

03 Apr 2025

David Allsopp's Blog

Read Article
Unix Module Considered Harmful

Recently I was working on a socket pool for a new scheduler for OCaml 5 (multicore baby!) and I ran into a strange issue. This new socket pool works by spinning up a series of lightweight processes to accept connections. Every one of those will wait for a client to

29 Nov 2023

Practical OCaml

Read Article
How to render trees like the Unix tree command

How to render trees like Unix 'tree' The Unix tree utility produces a pretty rendering of a filesystem. Implementi...

14 Oct 2017

Shayne Fletcher

Read Article