有没有理由使用有界多态性而不是类型类?

时间:2017-03-11 10:31:49

标签: scala

有没有理由使用f有界多态而不是类型类?

它们都解决了编写函数f(a:A):A的问题,其中A必须支持给定的一组操作(方法)(实现接口/是类型类的实例)。 / p>

1 个答案:

答案 0 :(得分:2)

最终用户代码可能更简单,更短,看起来更好。

示例:

def first[A](s: Seq[A]): A = s.head

如果Seq是类型类,则用户必须编写以下内容:

def first[A, F[_]](s: F[A])(implicit S: Seq[F]): A = S.head(s)