I Love OCaml

OCaml love letter ignites a family feud—cynics say 'almost there,' purists shout 'SML is perfect'

TLDR: A coder praises OCaml as the happy middle ground between complicated Haskell and no-frills Go. Comments explode into an ML-family showdown: skeptics say OCaml’s ideas get borrowed elsewhere, SML loyalists claim perfection, F# fans push modernity—plus a meme about “ML” heartbreak and a pedantic HTML tag callout.

A dev just wrote a swoony love note to OCaml—a decades-old language they say hits the sweet spot between Haskell’s brain-bending cleverness and Go’s boring-but-fast simplicity. After burning out on Haskell’s “too smart” tricks and side-eyeing Go’s clunky errors, they found OCaml’s strong safety, speed, and simple vibes irresistible. Cue the comments going full soap opera.

The top mood? Cynical realism. One veteran declared OCaml has been “almost there” since 2002 and predicts its best ideas will get cherry‑picked by bigger languages before OCaml itself ever breaks out. Then came the ML family brawl: Standard ML superfans rolled in to say it’s like OCaml, but “perfect,” while pragmatists waved a “just try F#” banner for a more modern ride. The funniest bit: a wistful commenter confessed that every time they see “ML,” they hope it means Meta Language (the old family OCaml comes from), not Machine Learning—then their heart “falls through the floor.” And because it’s the internet, someone crashed the party to nitpick a stray HTML tag, turning the biggest bug of the day into a closing </head> fiasco. The vibe: deep affection for OCaml, endless debates over its cooler cousins, and classic commenter chaos.

Key Points

  • The author values languages with fast compile times, simple runtimes, strong static guarantees, FP constructs (pattern matching, sum types), good performance, and good documentation.
  • Haskell offers strong static guarantees and FP benefits but suffers from complexity, slow compilation, and a complex runtime with potential space leaks.
  • Go is praised for simplicity, tooling, fast performance, and fast compile times, but criticized for verbose error handling, lack of explicit null checks, and no REPL.
  • OCaml is presented as meeting many desired criteria: strong static guarantees, features like sum types and pattern matching, and simpler runtime semantics.
  • OCaml’s French origins influence some naming conventions (e.g., String.of_X), reflecting quirks alongside strengths.

Hottest takes

"one of those "almost there" languages since at least 2002" — dmpk2k
"my heart skips a beat, then I become crestfallen" — pohl
"there is always Standard ML. It is like OCaml, but perfect!" — fmbb
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.