Hindley-Milner type system is a type system used in functional programming languages that allows for automatic type inference. It's named after the British computer scientists Roger Hindley and Robin Milner, who probably never imagined their work would be reduced to a snarky dictionary entry by an overworked software engineer.
"I was trying to debug this Haskell code, but I couldn't figure out why the Hindley-Milner type system kept inferring the wrong type for my function. I guess I'll just go back to writing JavaScript and leave the type inference to the academics."
"Did you hear about the new startup that's building a blockchain-based, AI-powered, cloud-native programming language? They claim it has a revolutionary new type system that's like Hindley-Milner type system on steroids, but I bet it's just another overhyped project that will be forgotten in a year."
What is Hindley-Milner? (and why is it cool?) - This video by Computerphile provides a beginner-friendly introduction to the Hindley-Milner type system and explains why it's such a powerful tool for functional programming.
Hindley-Milner type inference - If you're feeling masochistic, you can dive into the mathematical details of the Hindley-Milner type system on Wikipedia. Just don't blame me if you end up more confused than when you started.
The Hindley-Milner Type Inference Algorithm - For those who prefer their type theory in video form, this talk by Simon Peyton Jones explains how the Hindley-Milner type system works under the hood. It's like watching a magic trick being explained, except instead of pulling a rabbit out of a hat, it's pulling a type out of a function.
Note: the Developer Dictionary is in Beta. Please direct feedback to skye@statsig.com.