Я пытаюсь узнать, как вложить монады с помощью MonadTransformers в библиотеку кошек.Коты Monad Transformers
Так что я пытаюсь создать тип данных, либо для [String, Option [A]]
Это код, который я написал
import cats.data.OptionT
import cats.instances.list._
import cats.syntax.applicative._
object Ex11 extends App {
type ErrorEither[A] = Either[String, A]
type ErrorOrOption[A] = OptionT[ErrorEither, A]
val x = 42.pure[ErrorOrOption]
println(x)
}
Но я получаю сообщение об ошибке
[error] Ex11.scala:13: could not find implicit value for parameter F: cats.Applicative[Ex11.ErrorOrOption]
[error] val x = 42.pure[ErrorOrOption]
[error] ^
Я взял это из образца, который использовал Xor
, но я думаю, что последняя библиотека кошек удалена Xor
в пользу Либо.
Я бы импортировал 'cats.implicits._' и ограничивал имплициты по мере необходимости. – Reactormonk
Документы говорят, что вам нужно импортировать основную монаду. –