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-CI and native Windows builds

Following from post last week about obuilder and Windows Host Compute Services, I am pleased to report that this is now running on OCaml-CI. In this early phase, I have enabled testing only on Windows 2025 with OCaml 5.4 and opam 2.5 using the MinGW toolchain.

03 Mar 2026

Marc Elvers

Read Article
OCaml 5 native 32-bit backends: i386 and PPC32

Following on from the Arm32 multicore backend, I have now ported the remaining two 32-bit architectures to OCaml 5 with multicore support: i386 and PowerPC 32-bit (PPC32).

03 Mar 2026

Marc Elvers

Read Article
Learning OCaml: String Interpolation

Most programming languages I’ve used have some form of string interpolation. Ruby has "Hello, #{name}!", Python has f-strings, JavaScript has template literals, even Haskell has a few popular interpolation libraries. It’s one of those small conveniences you don’t think about until it’s gone.

03 Mar 2026

Bozhidar Batsov

Read Article
Learning OCaml: PPX for Mere Mortals

When I started learning OCaml I kept running into code like this:

03 Mar 2026

Bozhidar Batsov

Read Article
Weeknotes 2026 week 9

02 Mar 2026

Jon Ludlam's Blog at recoil.org

Read Article
Learning OCaml: Printing Data Structures

If there’s one thing that frustrated me early on in my OCaml journey, it was printing stuff. In Ruby I can p anything and get a useful representation. In Clojure, prn just works on every data structure. In OCaml? There’s no generic print that works on any type – the type information is erased at runtime, so the language simply doesn’t know how to stringify an arbitrary value.

01 Mar 2026

Bozhidar Batsov

Read Article
Learning OCaml: Working with Records

Records are one of those things that look almost identical across ML-family languages, so I didn’t expect many surprises when I started using them in OCaml. For the most part I was right – but there were a few things worth noting, especially if you’re coming from a language where records/structs are mutable by default.

01 Mar 2026

Bozhidar Batsov

Read Article
.plan-26-09: Browser TESSERA, package management and Docker in the CACM

Got TESSERA working in Zarr and the browser, and a preprint of package management a la carte pushed out

01 Mar 2026

Anil Madhavapeddy's Blog

Read Article
Building Emacs Major Modes with TreeSitter: Lessons Learned

Over the past year I’ve been spending a lot of time building TreeSitter-powered major modes for Emacs – clojure-ts-mode (as co-maintainer), neocaml (from scratch), and asciidoc-mode (also from scratch). Between the three projects I’ve accumulated enough battle scars to write about the experience. This post distills the key lessons for anyone thinking about writing a TreeSitter-based major mode, or curious about what it’s actually like.

27 Feb 2026

Bozhidar Batsov

Read Article