Computer science Type theory Concept
Hindley–Milner type system
Summary
The Hindley–Milner type system is a typed lambda calculus with a restricted form of polymorphism. In it, a name bound by can be used at several types. It was found by J. Roger Hindley for combinatory logic and independently by Robin Milner for the language ML. Luis Damas proved the completeness of its inference algorithm. Its key property is that type inference is decidable and every typable term has a principal type, so programs need no type annotations. It is the core of the type systems of ML, OCaml and Haskell.
Reading path
To understand this page from the ground up, read these 26 pages in order. The foundations come first.
Show the path as a graph
- no evidence level
- Element definition
- Intuitionistic logic concept
- Lambda calculus concept
- Proposition concept
- Set concept
- Type system concept
- Set definition
- Conjunction definition
- Disjunction definition
- Implication definition
- Negation definition
- Type inference concept
- Biconditional definition
- Truth table concept
- Modus ponens concept
- Mathematical proof concept
- Propositional logic concept
- Tautology definition
- Logical equivalence definition
- Double negation law statement
- Proof by contradiction concept
- Russell's paradox statement
- Type theory concept
- Curry–Howard correspondence concept
- Simply typed lambda calculus concept
- Hindley–Milner type system concept
Further reading
About this page
| Tag | 703R12KENG |
|---|---|
| URI | m2://703R12KENG |
| Kind | concept |
| Writing | W0 stub |
| MSC | 68N18, 68N15, 03B40 |
| Uses | Simply typed lambda calculus, Type inference |
| Same as | |
| Changed | 3 November 2026 |
Markdown · JSON · Edit on GitHub
What this page needs for W1
- an inventory row: the row of the inventory that the node accounts for (0 of 1)
- a source with a locator (0 of 1)
The writing levels say how complete the text of a page is. They do not measure its truth.