July 22, 2026

Compile feelings, catch drama

Taking OCaml and Eio for a Spin

Coder tries trendy OCaml and instantly runs into the same old compiler fight

TLDR: Matt Hall tried learning OCaml, liked the language overall, and recommended easier study material before jumping into the deep end. But the comments latched onto his complaint about slow error-fixing, with readers instantly debating whether this is an OCaml problem or just programming life.

A programmer took OCaml — a long-running coding language suddenly having a bit of a comeback — out for a test drive, and the vibe was basically: "this is pretty nice... until the toolchain starts acting up." In the post, Matt Hall says he wanted something simpler than Haskell, found OCaml enjoyable overall, and liked that it mixes tidy, functional-style code with more familiar practical features. He also went on a mini learning quest, praising CS3110 as the friendlier starting point and warning that Real World OCaml can get intimidating fast if you dive in too cockily.

But the real drama came when he complained that the compiler seems to stop dead at the first mistake, making the fix-test-repeat cycle feel painfully slow. That sparked the classic comments-section showdown: is this a real flaw, or just how compilers work in the real world? One commenter basically shrugged and said, what magical language is doing better, exactly? That turned the mood from personal learning diary into full-on community therapy session, with the subtext being very relatable: every programmer thinks they’ve found a fresh annoyance, and the veterans immediately reply, "buddy, they all do that."

So the hottest reaction wasn’t really about OCaml syntax or fancy concurrency tricks — it was about expectation versus reality. The jokes almost write themselves: man seeks elegant programming language, discovers error messages are still error messages. The crowd’s verdict? OCaml seems promising, but nobody is letting a compiler complaint go unchallenged.

Key Points

  • Matt Hall chose to start learning OCaml now because of recent momentum around multicore support, effects, and OxCaml, and because he wanted to explore the Eio concurrency framework.
  • He began with Real World OCaml, later realizing it uses Jane Street’s Base library instead of the default standard library.
  • He found the first half of Real World OCaml effective but says the material became harder for him around GADTs and first-class modules.
  • He then used CS3110, which he says was easier and more helpful because it includes both videos/text and exercises.
  • Hall describes OCaml as enjoyable due to its mix of functional and imperative programming, while also noting wordy syntax and compiler behavior that he says slows iteration when errors occur.

Hottest takes

"The compiler bothers me more" — derdi
"Are there languages where this actually works, in actual practice?" — derdi
"No compiler I have ever used..." — derdi
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.