Algorithm Damas-Hindley-Milner型推理算法的实现

Algorithm Damas-Hindley-Milner型推理算法的实现,algorithm,type-inference,hindley-milner,Algorithm,Type Inference,Hindley Milner,我在寻找有关著名的 对函数式语言进行类型推断,特别是关于实现的信息 我已经知道如何做了,但我听说最近的新算法基于约束生成器/解算器,而不是通常的统一。然而,我无法找到任何关于这些新算法实现的讨论 你知道我在哪里可以找到一些关于ML推断的部分信息吗?如果你对ML代码感到满意,找到这些信息的最好方法就是在野外查看实现。一个好的参考实现是,它更多地被设计为一个测试平台,而不是一个生产实现 最近几乎所有关于这些问题的严肃讨论都将在学术场合进行。一篇可能会引起兴趣的论文是 此外,Pierce的“”和App

我在寻找有关著名的 对函数式语言进行类型推断,特别是关于实现的信息

我已经知道如何做了,但我听说最近的新算法基于约束生成器/解算器,而不是通常的统一。然而,我无法找到任何关于这些新算法实现的讨论


你知道我在哪里可以找到一些关于ML推断的部分信息吗?

如果你对ML代码感到满意,找到这些信息的最好方法就是在野外查看实现。一个好的参考实现是,它更多地被设计为一个测试平台,而不是一个生产实现

最近几乎所有关于这些问题的严肃讨论都将在学术场合进行。一篇可能会引起兴趣的论文是


此外,Pierce的“”和Appel的“”中各种类型系统(包括let多态性)的实现比算法W的普通描述更符合现代实现方法。

您确定约束生成/求解不适用于具有子类型的类型系统,例如HM(X)家族之一吗(Hindley Milner通过子类型关系参数化)?我读到它可以用于带有子类型的HM(X)家族,也可以用于类型类(参数多态性)之类的东西,所以我有点困惑类型类在某种程度上与参数多态性是正交的。我认为Pascal Cuoq可能是正确的。例如,我不确定我在标准ML中看到过任何严肃的替代方法来代替普通ol约束生成和统一类型重建。替代方法肯定会对这类尽管已经提出了扩展。自从你问起ML以来,这并不是100%的答案,但我想知道这是否是你所听说的:Gerg˝o˝rdi博士,Hindley-Milner类型系统的组合类型检查,正如你可能从“typeclass”一词的出现中猜到的这是关于Haskell的。感谢对HaMLet的引用,我不知道有这样的项目存在!@Vinz,是的,它非常整洁。它与继承者ML的一些工作(似乎已经失效)有关。前几天我遇到了这个问题-它将约束处理规则与类型类的类型推断联系起来: