Scalaz-ReaderT合成

Scalaz-ReaderT合成,scala,scalaz,Scala,Scalaz,我有2个ReaderT类型的函数,我想把它们组合起来 def nextTask(): ReaderT[Option, Env, Task] 返回要执行的下一个任务的选项 def run(taskName: String): ReaderT[Option, Env, Int] 获取任务(task.name)并返回结果代码或无(失败) 我使用ReaderT作为环境设置(Test/prod)。 下面是我做的测试的一个片段 val p = for { t <- nextTask() c &

我有2个ReaderT类型的函数,我想把它们组合起来

def nextTask(): ReaderT[Option, Env, Task]
返回要执行的下一个任务的选项

def run(taskName: String): ReaderT[Option, Env, Int]
获取任务(task.name)并返回结果代码或无(失败)

我使用ReaderT作为环境设置(Test/prod)。 下面是我做的测试的一个片段

val p = for {
 t <- nextTask()
 c <- run(t.name)
} yield c 
p.run(TestEnv) shouldEqual 1
这里到底缺少什么


谢谢

您缺少Bind[选项]的typeclass。尝试
导入scalaz.std.option.optionInstance
这很有帮助。这太容易了。我没有在任何文档中看到它。
could not find implicit value for parameter M: scalaz.Bind[Option]