【发布时间】:2014-03-21 18:36:20
【问题描述】:
有些框架完全包含类型类模式。 scalaz 和 shapeless 就是很好的例子。因此,在某些情况下,类型类肯定比普通的 java 类和多态更可取。
我敬畏隐含的证据表达能力,我很好奇为什么这种方法缺乏实际应用。是什么原因迫使 Scala 程序员使用基本类。类型类显然会花费冗长和运行时间,但还有其他原因吗?
我没有以前的 java 经验就来到了 scala,我想知道我是否错过了经典 scala-java 类可能带来的一些基本好处。
我正在寻找一些引人注目的用例来展示类型类不足或无效的领域。
【问题讨论】:
-
我不确定我买这个问题的前提(至少是“缺乏实际应用”部分)。类型类在 Scala 标准库中发挥着核心作用(如果你眯着眼睛看
Comparator,它甚至会出现在 Java 中)。 -
scalaz 和 shapeless 用 monad 抽象重新实现了其中的许多。选择 scala 标准库肯定有一些原因,但其中的经典类并不是杀手级功能,因为类型类满足相同的用例
-
我撤回我的回答。这个问题会产生意见。
-
冗长毕竟是一个很好的解释。我只是认为可能有更强有力的理由
标签: scala typeclass static-typing