【发布时间】:2011-04-17 04:18:42
【问题描述】:
使用 Haskell 的类型类,它似乎启用了临时多态性,但它的函数声明似乎是参数多态性。我是否混合了我对不同事物的理解?
【问题讨论】:
标签: haskell functional-programming polymorphism type-systems
使用 Haskell 的类型类,它似乎启用了临时多态性,但它的函数声明似乎是参数多态性。我是否混合了我对不同事物的理解?
【问题讨论】:
标签: haskell functional-programming polymorphism type-systems
确实,Haskell 支持(更高等级的)参数多态性和临时(或有界)多态性。 Haskell 中的参数多态性通过其 Hindley-Milner/System F 类型系统得到支持。通过类型类支持临时多态性。
关于类型类和临时多态性的起源,请参阅 Wadler 的论文:
关于parametric多态性和ad hoc多态性区别的由来,可以去挖Strachey的论文,
【讨论】: