Milner’s original 01978 paper on the #Hindley-Milner type-inference algorithm; the famous Algorithm W (Algorithm (\mathscr W)) is a bit more than half of page 366 of the PDF, but it has some dependencies. (Page 20 of 29.)
on 02025-12-28The third edition of the #PLAI #ebook omits the explanation of the #Hindley-Milner type-inference algorithm I was looking for, but it’s still #CC BY-NC-SA. #PDF
on 02025-12-28lecture notes on how #Hindley-Milner type inference works in OCaml, with a simple OCaml implementation. Except, no, actually they’re implementing a much simpler type-inference algorithm, which is why it’s so simple.
on 02016-04-29#Hindley-Milner inference in Haskell, with let-polymorphism.
on 02016-04-29“A #Hindley-Milner type inference implementation in Python”, for a toy functional language. #toread
on 02016-04-29“How OCaml type checker works -- or what polymorphism and garbage collection have in common” aka “Efficient and insightful generalization” — #Oleg on how “There is more to #Hindley-Milner type inference than the Algorithm W” #paper #toread
on 02016-04-29#Oleg and Chung-Chieh Shan on “interpreting types as abstract values”. #Hindley-Milner #paper #pdf #toread. #ccshan
on 02016-04-29#Oleg and Chung-Chieh Shan came up with a new way of describing #Hindley-Milner type checking: as abstract interpretation with non-standard semantics, I think. #ccshan
on 02016-04-26Cat is a higher-order #concatenative language (like Forth, Joy, or PostScript) that is statically type-checked with a type system based on #Hindley-Milner. This post goes into some details of how this works. #programming #cs
on 02016-04-21by abusing let-polymorphism in #Hindley-Milner type systems, you can force the type-checking to be exponential-time complexity. #cs
on 02016-04-20