什么是Haskell的多态性风格?

时间:2011-04-15 00:46:24

标签: haskell functional-programming polymorphism type-systems

使用Haskell的类型类似乎它几乎可以实现ad hoc多态,但它的函数声明似乎是参数多态。我混合了对不同事物的理解吗?

1 个答案:

答案 0 :(得分:31)

实际上,Haskell支持(更高级别)参数多态性和ad hoc(或有界)多态性。 Haskell中的参数多态通过其Hindley-Milner / System F类型系统得到支持。通过类型类支持Ad hoc多态。

关于类型类和ad hoc多态的起源,请参阅Wadler的论文:

对于参数和ad hoc多态的区别的起源,你可以挖掘Strachey的论文,