Я пытаюсь создать Stream[Eval, String] следующим образом:
import cats.Eval
import cats.effect.{ExitCode, IO, IOApp}
import fs2._
object StringEval extends IOApp {
def evalString: Eval[String] = Eval.always{
val r = new scala.util.Random(31)
r.nextString(4)
}
override def run(args: List[String]): IO[ExitCode] = {
Stream
.eval(evalString)
.repeat
.compile
.lastOrError
.start
.as(ExitCode.Success)
}
}
Но проблема в том, что я получаю сообщение об ошибке компиляции:
Error:(17, 8) could not find implicit value for parameter compiler: fs2.Stream.Compiler[[x]cats.Eval[x],G]
.compile
Я не могу понять ошибку? что мне не хватает? К чему относится ошибка?
Eval
для захвата побочных эффектов из-за отсутствия возможностей обработки ошибок (нет экземпляраMonadError[Eval]
). Возможно, тип данныхSync
будет хорошим выбором для вашей проблемы. - person nader.h   schedule 10.06.2020