Save 37% off PRO during our Black Friday Sale! »

DeadCoders #1: Damas-Milner '82

DeadCoders #1: Damas-Milner '82

Type inference is a common property of polymorphically typed programming languages, including Java, C#, Haskell, Scala, and F#. It allows the compiler to automatically determine the types of expressions, reducing the burden on the programmer, while still allowing for compile-time type checking.

The Damas-Milner paper describes the first algorithm ("Algorithm W") for inferring and assigning types in the ML polymorphic type system. The algorithm runs in near-linear time (with respect to program size), making it feasible for real-world use.

I think type inference is a fascinating concept, and Algorithm W is actually quite simple.


Alisdair McDiarmid

May 27, 2014


  1. None
  2. None
  3. None
  4. None
  5. None
  6. None
  7. None
  8. None
  9. None
  10. None
  11. None
  12. None
  13. None
  14. None
  15. None
  16. None
  17. None
  18. None