我有2个类型的ReaderT功能,我想合成它们。
def nextTask(): ReaderT[Option, Env, Task]
返回执行下一个任务的选项
def run(taskName: String): ReaderT[Option, Env, Int]
获取任务(Task.name)并返回结果代码或None(失败)
我使用ReaderT作为环境设置(Test / prod)。 这是我做的测试的片段
val p = for {
t <- nextTask()
c <- run(t.name)
} yield c
p.run(TestEnv) shouldEqual 1
我收到编译错误
could not find implicit value for parameter M: scalaz.Bind[Option]
这里究竟缺少什么?
谢谢