18得票2回答
cats-effect: 如何将 `List[IO]` 转换为 `IO[List]`

我创建了一个IO[Unit]列表,以便从URL列表中检索数据。但是现在我如何将其转换回单个IO[Unit]?

17得票1回答
在一个事务中,如何将Doobie和DB访问进行组合?

Doobie 文档 建议从 repository 层返回 ConnectionIO。这样可以链式调用多个操作并在同一个事务中执行。 现在假设我们正在开发一个 REST API 服务,我们的场景如下: 在数据库中查找一个对象 使用 cats.effect.IO 或 monix.eval.T...

15得票2回答
猫:Monads的非尾递归tailRecM方法

在 cats 中,当使用 Monad 特质创建一个 Monad 时,应该提供方法 tailRecM 的实现。 下面有一个场景,我发现无法提供 tailRecM 的尾递归实现。 sealed trait Tree[+A] final case class Branch[A](lef...

15得票1回答
在使用IntelliJ中的cats库时出现虚假错误

我正在使用Scala的Cats库,而IntelliJ IDE似乎在使用implicit时遇到了困难: 这是一个简单的例子: import cats.std.all._ import cats.Traverse.ops._ def useSequence[A](ls : List[Opti...

14得票2回答
Scala-Cats 验证:ValidatedNel 元组中没有成员 mapN。

Scala社区。 目前我正在尝试使用cats的Validated Monad实现自定义模型/单参数验证。但是,自1.0版本以来删除了笛卡尔乘积操作符,导致我无法使用(v1 |@| v2) map (f) 并且无法编译我的代码:import cats.Semigroupal import ca...

14得票1回答
在Doobie中并行运行查询

使用Doobie可以并行运行多个查询吗?我有以下(伪)查询:def prepareForQuery(input: String): ConnectionIO[Unit] = ??? val gettAllResults: ConnectionIO[List[(String, BigDecima...

13得票1回答
Dotty会如何改变Scala中的纯函数式编程?

在2013年的这个问题中,Odersky先生指出,由于高阶和存在类型的削弱,Scalaz等库是否能够存在(至少在它们目前的状态下)取决于Dotty的发展情况。 随着时间的推移,Dotty对Scalaz和Cats的影响已经被阐明了吗?像内置效果和记录之类的建议特性会改变这些项目的范围吗? 我...

13得票1回答
Cats effect - 独立效应的并行组合

我想将多个IO值组合在一起,在并行独立运行。val io1: IO[Int] = ??? val io2: IO[Int] = ??? 我认为我有两个选择: 使用cats-effect的fibers和fork-join模式 val parallelSum1: IO[Int] = for ...

13得票1回答
如何在Scala Cats / fs2中理解堆栈安全性?

这是来自fs2文档的一段代码。函数go是递归的。问题是我们如何知道它是否堆栈安全,以及如何推断任何函数是否堆栈安全? import fs2._ // import fs2._ def tk[F[_],O](n: Long): Pipe[F,O,O] = { def go(s: Stre...

12得票1回答
如何在最新版本的Cats中使用笛卡尔积|@|?

我已经将一些使用cats 0.2编写的代码迁移到cats 0.6,但我的代码现在无法正常工作:import cats.data.Validated import cats.std.all._ val valid1: Validated[List[String], Int] = valid(1...