cats-effect相关内容

带有StateT [IO,_,_]的FS2流,定期转储状态

我有一个程序,它消耗无限的数据流.在此过程中,我想记录一些指标,由于它们只是简单的总和和平均值,因此形成了一个monoid.我想定期地在某个地方写出这些指标,清除它们,然后返回累积它们.我基本上是: object Foo { type MetricsIO[A] = StateT[IO, MetricData, A] def recordMetric(m: MetricData): ..
发布时间:2020-07-19 19:32:35 其他开发

了解Scala FP库

仅出于快速起见,对于那些想要开始使用Scala FP库的人来说,这是一个在纯FP方面变得更好的旅程. 有人可以澄清一下Cats和Cats-Effects,Cats-Effects IO之间的区别/关系吗?最重要的是,Zio和Monix对此持何立场?最后,与ScalaZ 7/8有什么关系? 到目前为止,根据我所读的内容,可以根据可用的文档很好地组合要使用的库,它们的作用是Cats,然后是 ..
发布时间:2020-07-19 19:31:32 其他开发

特效和异步IO的细节

几天来,我一直将注意力集中在猫效应和IO上.而且我觉得我对这种效果有误解,或者只是错过了要点. 首先-如果IO可以取代Scala的Future,我们如何创建异步IO任务?使用IO.shift?使用IO.async吗? IO.delay是同步还是异步?我们可以使用类似Async[F].delay(...)的代码来执行通用异步任务吗?还是当我们使用unsafeToAsync或unsafeToFu ..
发布时间:2020-07-19 19:31:30 其他开发

在monad内部工作时如何编写尾递归函数

总的来说,当在“内部" monad中工作时,我很难弄清楚如何编写tailrecursive函数.这是一个简单的示例: 这来自我正在编写的一个小示例应用程序,目的是更好地了解Scala中的FP.首先,提示用户输入由7个Player组成的Team.此函数以递归方式读取输入: import cats.effect.{ExitCode, IO, IOApp} import cats.impli ..
发布时间:2020-05-10 21:44:20 其他开发