首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >上下文感知类型类

上下文感知类型类
EN

Stack Overflow用户
提问于 2018-07-15 02:01:25
回答 0查看 63关注 0票数 0

我正在开发一些应用程序,可以处理硬盘上的文件。我有以下“实体”:

代码语言:javascript
复制
final case class File(path: String)
final case class FileChecksum(f: File, checksum: Long)

我还有下面的类型类:

代码语言:javascript
复制
trait Checksum[T]{
    def checksum(t: T): Long
}

所有这些都是由以下特征操作的:

代码语言:javascript
复制
trait Model{
    def fromFile(file: File)(implicit checksum: Checksum[File]): FileChecksum
}

而且它看起来很好。但我决定对其进行重构,并应用无标记final。所以模型现在看起来是这样的:

代码语言:javascript
复制
trait Model[F[_]]{
    def fromFile(file: File)(implicit checksum: Checksum[F, File]): F[FileChecksum]
}

trait Checksum[F[_], T]{
    def checksum(t: T): F[Long]
}

让我困惑的问题是类型类trait Checksum[F[_], T]。它现在依赖于上下文F。这真的是一个类型类吗?还是我看错方向了?

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51342064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档