1M for Non-Specialists: Introduction

1ML explainer drops; typos and ivory‑tower brawls

TLDR: A new series aims to make the 1ML type system understandable for everyday developers, linking theory to practical compilers. Comments exploded into typo corrections and a debate over whether academics should code tools too, mixing hope for clarity with frustration over ivory‑tower vibes.

A friendly guide to the brainy 1ML type system just landed, and the community immediately turned the comments into a street fight between typo police and ivory‑tower skeptics. The author wants to demystify Andreas Rossberg’s 1ML with a plain‑English series, translating it into “System F‑omega” (think: a mathy core used under the hood of languages like Haskell). The vibe? Equal parts curiosity and chaos.

First punch: “It’s 1ML, not 1M,” barked the correction crew, followed by more nitpicks over a missing “c” in “collection.” Meanwhile, the spiciest take came in hot: if academics can debate type systems, why can’t they just write the compilers already? That jab lit up the thread, turning a tutorial announcement into a bigger argument about whether theory folks ship real‑world tools.

Amid the drama, people appreciated the goal: help non‑specialists understand every rule in the paper and share practical insights beyond the theory. Others rolled their eyes, joking that pressing a button to open the paper is the most approachable part. Still, the promise to bridge the gap between research and coding sparked hope—plus some memes about “type monks” meeting “code gremlins.” For the curious, the 1ML source is here: Rossberg’s papers.

Key Points

  • The article introduces a series aimed at explaining the 1ML type system for non-specialists.
  • 1ML is designed by Andreas Rossberg and documented in a collection of his papers, including a 2018 JFP article.
  • The series sets prerequisites: familiarity with type system inference rules and OCaml/Standard ML modules, and 1ML’s design goals.
  • Goals include understanding all 1ML inference rules and discussing implementation issues like integrating type inference with levels.
  • 1ML is positioned as syntactic sugar for System Fω, translating 1ML terms and types into Fω equivalents.

Hottest takes

"1ML, not 1M" — Y_Y
"Title is '1ML for non-specialists: introduction'" — abetusk
"there is s.th. wrong when people working on type systems can't write compilers" — randomNumber7
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.