Re:Grow Your Own Type System
by shadowfox on Saturday November 28, 2015 @12:42AM
(#10640167)
If I remember right, TAPL (Types and Programming Languages by Benjamin Pierce) contains implementations for nearly everything that it talks about. So you can find another implementation of Hindley-Milner there.
Re:Grow Your Own Type System
by bjz_ on Saturday November 28, 2015 @01:23AM
(#10640249)
One of the issues I've found with the TAPL examples and Grow-Your-Own-Type-System implementations is the lack of explicit, top-level type definitions. I know whole-program type inference is great and all, and ML programmers love to show it off, but it makes everything much harder to follow and understand.
That said, they are still very useful, and I'm thankful that the author published them!
Re:Grow Your Own Type System
by mercurial on Saturday November 28, 2015 @03:20AM
(#10640471)
That's a fair point (the repo doesn't even have .mli files, it looks like). However, the author has at least gone for somewhat-helpful binding names, as opposed to the single-letters-are-cool which all too common in OCaml codebases.
"The book that I really, really want: Lisp in Small Pieces, but for type theory"
https://twitter.com/d_christiansen/status/573767527081316354
I want that book too.
I don't think it includes row typing though.
https://www.cis.upenn.edu/~bcpierce/tapl/checkers/
The code is pretty elegant. I think it's intended to be clear enough for students in his classes to modify.
That said, they are still very useful, and I'm thankful that the author published them!