为什么类型类难以实现?

Łuk*_*Lew 41 haskell typeclass ghc

演示文稿的第30/78页幻灯片中,Simon建议类型类的实现在开始时是一种"绝望".有谁知道那是为什么?

aug*_*tss 77

我想我是谁拥有它为什么是很难第一手经验的少数人之一,因为我实现了它在HBC在没有现有技术.

因此,Wadler&Blott的论文清楚地表明,类型检查是Hindley-Milner类型检查的扩展,并且在运行时你应该通过字典.从那到实际的实施是一个相当大的步骤.理解这个难点的一个好方法是从Wadler-Blott论文开始实际实现它.

首先,您需要提出一种类型检查器的概念,它不仅可以检查类型,还可以转换程序; 在类型检查时插入证据(词典).您还需要弄清楚如何使用实例声明作为推理系统从旧的字典构造新的字典.

回想起来,这一切看起来都很明显,但请记住,从那时起,许多有解释的论文都写成了.了解如何从纸上做某事与首先提出它有很大的不同.

此外,您希望类型类具有合理的效率,从而导致其自身的一组问题.

  • 如果你愿意(或已经)将它发布到某个地方,我会喜欢这个故事的更长版本. (7认同)
  • 你能详细介绍一下吗?你还可以指出你提到的论文吗? (6认同)
  • @ JohnF.Miller好吧,现在已经20多年了,所以我的记忆中的细节已经不再那么明显了. (4认同)