我正在寻找有关着名Damas-Hindley-Milner algorithm的信息 为函数式语言做类型推断,特别是有关实现的信息。
我已经知道如何做Algorithm W,但我听说最近基于约束生成器/求解器的新算法而不是通常的统一。但是,我无法找到关于这些新算法实现的任何讨论。
我知道在哪里可以找到有关ML推理的部分信息吗?
答案 0 :(得分:17)
如果您对ML代码感到满意,那么找到这些内容的最佳方法就是简单地查看实现中的实现。一个很好的参考实现是HaMLet,它被设计为更多的测试平台而不是生产实现。
最近几乎所有关于这些问题的严肃讨论都将出现在学术界。可能感兴趣的一篇论文是Generalising Hindley-Milner type inference algorithms。
此外,Pierce的“Types and Programming Languages”中的各种类型系统(包括let polymorphism)的实现,以及Appel的“Modern Compiler Implementation in ML”更接近现实的实现方法,而不是现实的方法。算法W。