我打算将 BifunctorIO
与错误通道一起使用。所以我试图为它提供一个隐式实例,MonadError
但它无法编译。
import cats.MonadError
sealed trait AppErrors
//...
object App{
def runApp[F[_, _]: MonadError[F[AppErrors, ?], ?]] = {
}
}
例如猫生物:cats.BIO[+E, +A]
我得到了编译错误
Error:(13, 22) type F takes type parameters
def runApp[F[_, _] : MonadError[F[AppErrors, ?], ?]] ={}
我真的不明白如何解决这个要求MonadError[F[_], A]
。