70得票2回答
Scala中的Cats库与Scalaz有何关系?

Cats库与scalaz有何关联?Cats项目提到它是从scalaz演变而来的。

53得票8回答
如何将Seq[Either[A,B]]缩减为Either[A,Seq[B]]?

给定一个由 Seq[Either[String,A]] 组成的序列,其中Left代表错误消息。我想获得一个Either[String,Seq[A]],如果序列的所有元素都是Right,那么我将获得一个Right(它将是一个Seq[A])。如果至少有一个Left(表示错误消息),我想获取第一个错...

27得票1回答
理解Scala函数式编程库

为了方便想开始使用Scala FP库,成为更好的纯FP开发者的人快速了解,请有人澄清一下Cats和Cats-Effect、Cats-Effects IO之间的区别/关系。此外,Zio和Monix在其中的地位如何?最后,ScalaZ 7/8与之的关系是什么? 就目前我所读到的内容而言,根据可用...

26得票1回答
如何在Scala中堆叠应用函子

当您的计算步骤是独立的时候,可应用函子常被提及作为单子的替代品。它们经常被提到的优点之一是,在想要堆叠 applicatives 时,您不需要 transformer,因为 F[G[X]] 总是一个可应用函子。假设我有以下函数:def getDataOption(): Option[Data]...

26得票1回答
Cats-effect和异步IO的特点

最近我一直在琢磨cats-effect和IO,但我觉得自己对这个effect有些误解,或者说我没有理解它的重点。 首先,如果IO能够替代Scala的Future,那么我们如何创建一个异步IO任务呢?使用 IO.shift?使用 IO.async?IO.delay是同步还是异步的?我们能否使...

25得票4回答
缺少 Future 类型的 Cats Functor 实例

我正试图使用OptionT将返回Future[Option[T]]的方法组合在一起,以便在for循环中使用。 import cats.data._ import cats.implicits._ import cats.instances.future._ for { data &lt...

21得票1回答
如何将一系列猫的ValidatedNel值平铺

我需要将一系列的cats.data.ValidatedNel[E, T]值压缩为单个的ValidatedNel值: val results: Seq[cats.data.ValidatedNel[E, T]] = ??? val flattenedResult: cats.data.Val...

20得票1回答
在Scala中使用Free Monad堆叠单子效应

我正在学习Scala中的Free Monad,并且我已经用cats编写了一个可以被提升到Free Monad中的简单代数示例。 这是我的代数:sealed trait ConsultationOp[A] object consultation { case class Create(c:...

19得票1回答
flatMap、flatTap、evalMap和evalTap的区别

在Scala的fs2函数式流库中: 我试图理解flatMap、flatTap、evalMap和evalTap之间的区别。它们似乎都执行相同的操作,即对流值进行转换。 它们之间有什么区别,什么时候应该使用每个操作?

18得票1回答
单子与应用函子在Futures中的区别

假设我想从两个远程服务中汇总数据,并尽快提供响应: def loadUser: Future[User] def loadData: Future[Data] case class Payload(user: User, data: Data) 我理解这个代码会按顺序执行异步任务。 ...