据我所知,具有类型类约束的Haskell函数在内部被编译为带有附加参数的函数,该参数接收带有每个特定类型类的必要实现的字典。
- 还有其他可能的方式来编译类型类吗?
- 如果是这样,它们的(缺点)有哪些优点?
- 哪些编译器使用它们?
4
关于这个主题有很多文献。也许从J. Peterson,M. Jones的Implementing Type Classes开始。您还可以查看Oliveira等人的《作为对象和隐式的类型类》,该类在Scala的背景下进行了讨论,但其中有很大一部分涉及相关工作。
—
Martin Berger 2012年
我找到了该文章的链接:实现类型类。约翰彼得森和马克P琼斯。
—
PetrPudlák2012年
@MartinBerger可以回答这个问题吗?
—
Suresh Venkat 2012年
另一个可以在这里找到。
—
Martin Berger 2012年
@Suresh Venkat,我不想回答这个问题,因为我不确定这两个是最好的,甚至是好的答案。自从我研究功能语言的实现以来已经有一段时间了。也许有些居民FP的BOD的可插入内容。
—
马丁伯杰