为什么types类很难实现?

Simon在幻灯片30/78上build议,types类的实现一开始就是“绝望”。 有人知道这是为什么吗?

我想我是less数有第一手经验的人为数不多的人之一,因为我在没有现有技术的情况下在HB公司实施它。

所以Wadler&Blott的论文清楚地表明,types检查是Hindley-Milnertypes检查的扩展,在运行时你应该通过字典。 从这到实际的实施是一个相当大的步骤。 理解困难的一个好方法是从Wadler-Blott论文开始实际执行。

首先,你需要提出一个types检查器的概念,不仅检查types,而且还改变程序; 插入证据(字典),而types检查。 您还需要弄清楚如何使用实例声明作为推理系统来构造旧的词典。

回想起来,这一切似乎都是显而易见的,但请记住,从那时起,已经有很多有解释的论文。 理解如何从一篇论文做点什么,与从头开始做出很大的不同。

此外,你想要types类是合理的效率,导致自己的一套问题。