June 8, 2026
Dune and gloom in the replies
OCaml Onboarding: Introduction to the Dune build system
OCaml tries to make beginners feel welcome, but the comments instantly turned into a build-tool cage match
TLDR: OCaml published a beginner-friendly guide to Dune, the main tool used to build and run OCaml projects, hoping to make getting started less confusing. Readers immediately split into camps: some welcomed the help, while others complained the setup is still too complicated and asked why every language keeps inventing new tools.
OCaml’s latest onboarding post is supposed to be the friendly, no-stress guide for newcomers: here’s how to build, run, and test your first project using Dune, the tool that organizes your code and gets it ready to use. The article walks readers through simple examples, explains why a project needs files like dune-project, and tries very hard to say, “Relax, we know this stuff can feel intimidating.” In other words, the official mood is: calm, practical, beginner-friendly.
The comment section, however, showed up with popcorn. One of the strongest reactions came from people comparing OCaml’s setup to other languages that feel easier out of the box. An Elixir fan basically sighed, “why can’t this be more like Mix,” praising Elixir’s simple starter commands and low-drama experience. Then came the classic internet grenade: “what is wrong with make” — a full-on protest against every programming language inventing its own special build and packaging tools instead of sticking to old-school basics. Meanwhile, another commenter delivered the most chaotic review possible: Dune is powerful and works well, but also “kinda sucks” and is a pain for beginners because even tiny projects need multiple files.
And because no nerd argument is complete without a wild side quest, someone casually dropped that they’ve been messing with OCaml on Plan 9, giving the thread that classic “there’s always one legend in the replies” energy. The funniest vibe of all? A confused but relatable question asking whether Python’s shiny new uv tool is basically “Dune for OCaml,” which tells you everything about where newcomers’ heads are at: please, for the love of code, just tell us which magic command does what.
Key Points
- •The article is an onboarding guide for newcomers to the OCaml ecosystem focused on the Dune build system.
- •It was written as a follow-up to an earlier opam article after the authors recognized that Dune-related toolchain assumptions had not been explicitly explained.
- •The guide explains that Dune is used to build, run, and test OCaml code and is widely used in OCaml project setup and compilation.
- •The article uses a toy project named `helloer` to demonstrate how Dune and opam workflows fit together.
- •It introduces the `dune-project` file as the root entry point of a Dune project and explains that it contains metadata such as the Dune language version, package information, and optional opam-related configuration.