有没有理由使用f有界多态而不是类型类?
它们都解决了在A必须支持一组给定的操作(方法)(实现接口/成为类型类的实例)的情况下编写函数f(a:A):A的问题。
发布于 2017-03-11 20:04:47
最终用户的代码可能更简单,更短,看起来更好。
示例:
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)https://stackoverflow.com/questions/42734086
复制相似问题