【发布时间】:2011-04-09 12:28:44
【问题描述】:
haskell 程序员。使用 F#。 F# 中没有类型类。当我需要类型类时使用什么?
【问题讨论】:
-
你能举一个具体的例子说明你什么时候“需要类型类”吗?
-
@Jon Harrop:你能举一个具体的例子说明你什么时候“需要”任何语言特性吗?最后,一旦你有了图灵等价性,其他一切都只是语法和便利。类型类是我熟悉的即席多态性最具表现力的方法。你觉得子类型多态和成员重载有用吗?
-
@Jon Harrop:所以我认为你看不到任何用途,比如运算符重载或类型参数约束?
-
@Jon Harrop:好吧,如果您专门研究高性能数值计算,我绝对可以理解为什么它可能与您的日常工作无关,但这是一个相当小的利基市场有独特的要求。另一方面,我希望 @Brian 作为 F# 团队的一员,对如何使用该语言有非常广泛的看法。
-
字典传递是类型类的一种实现,它不是唯一的方法。 JHC 编译器是(全程序优化)Haskell 编译器的一个示例,它不使用字典传递来实现类型类。
标签: haskell f# functional-programming typeclass