问题标签 [cats-effect]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 猫效果:使用“parSequence”时看不到执行时间的减少
我是 cat-effect 库的新手,我遇到了并行执行的问题。我有一个我认为会受益的应用程序,但是当我在玩具构造上测试这个想法时,我似乎看不到执行时间的差异。我觉得我一定错过了一些对其他人来说很明显的东西,所以我想我会试试运气。在下面的代码中,我有两个数字序列(addInSequence
和addInParallel
)求和的实现,两者都在run()
函数中执行。当我运行程序时,我注意到它们的运行时间几乎相同。我错过了什么明显的东西吗?
看起来我应该看到运行时间减少到三分之一,但我必须以某种方式限制并行执行的能力。但是,文档似乎没有建议需要任何额外的设置,也没有我遇到的任何其他示例。任何想法将不胜感激。
scala - 无标记决赛中的 parSequence 和 parTraverse
使用无标签最终(不使用 IO,而是使用通用 F)我如何抽象这样的东西:
我能得到的最接近的是parTraverseN
从 Concurrent 对象中使用,但我认为这将同时运行而不是并行运行(如在parallelism中)。它也迫使我选择一个n
where as parTraverse
not。
列表的大小只是一个例子,它可能会更大。doSomething
是一个纯函数,它的多次执行可以并行运行而不会出现问题。
理想情况下,考虑到doSomething
返回值,IO[Unit]
我想抽象parTraverse_
到F
具有正确类型类实例的一个。
scala - Cannot find an implicit value for ContextShift
I am trying to create webapp with http4s that is based on Http4sServlet. The following code does not compile:
the error message:
The UserSvcServer
is implemented as follows:
How can I import ContextShift implicitly?
scala - 如何使用 fs2-kafka 从 Embedded-kafka 读取
我正在使用fs2-kafka从embedded-kafka读取。
我使用创建嵌入式 kafka withRunningKafkaOnFoundPort
,创建主题并发布一些消息。但是,当我尝试使用 fs2-kafka 读回它时,我得到了 NullPointerException。我已经隔离了一个测试用例,代码如下。
这是我的代码:
build.sbt
:
这里是堆栈跟踪:
scala - 如何在抽象效果类型上配置 Cats Timer
假设我在使用无标记Cats-effect
最终方法的项目中有以下方法签名:
我正在尝试schedule
使用纯 FP 对方法调用安排操作。
我试过这样:
但它没有用,因为效果 println("tick")
在Timer
初始化阶段执行。
我怎样才能让它正常工作?
我还可以创建某种递归构造,以便每 10 秒重复一次我的预定操作吗?
scala - 为什么 SemigroupK.combineK 语法不能用于 Resource[F, ?]?
考虑以下简单的应用程序:
有没有办法应用combineK
语法Resource[F, Unit]
?
scala - 代数提供时是否可以停止所有流?
我有以下返回的特征fs2.Stream
返回fs2.Stream
的 s 是无限的,因此应该能够阻止它们。给定一个实现trait Test
是否有可能创建一个Resource[IO, Test]
停止def action(arg: Int): fs2.Stream[IO, Unit]
发布时返回的所有流?
scala - Stateful implementation of F-algebra
Consider the following simple F-algebra
I want to provide implementation of it that tracks all of the added values and adds those that have not been added yet. It has to be done in a thread safe manner.
The "best" implementation I could come up with is using MVar[F, Ref[F, List[Int]]]
. Here is how it looks like
It looks pretty messy, but works as expected. I initially thought of using StateT
, but I don't like the idea that statefulness is exported to clients.
scala - 我需要做些什么来移植 ReactiveMongo scala 以使用猫效果?
说如果我想在 http4s 之类的东西中使用 ReactiveMongo 是否正确,我将不得不将 ReactiveMongo 返回的所有 Future 调用包装在 Cats IO 效果中?
概括地说,将 ReactiveMongo 合并到 http4s 中需要哪些步骤?
scala - Scala 单例对象和隐式解析
在 scala 中使用单例对象进行隐式解析的最佳方法是什么?这对于Either
自定义错误对象尤其常见。
在下面的代码示例中,方法返回包装在 IO 中的特定于应用程序的错误。错误由扩展的单例对象表示Throwable
。此代码无法编译,因为 scala 正在寻找隐式 forAppSpecificError.type
而不是Throwable
.
可以将所有内容放入具有指定类型的变量中,但看起来很奇怪。这似乎是一个很常见的情况,解决它的最佳方法是什么?