Arc*_*nes 3 kotlin arrow-kt kotlin-coroutines
我正在努力学习,Arrow-Kt因为我对Functional Programming in Kotlin.
有人可以解释为什么需要创建另一个功能与 几乎相似的结构Kotlin Coroutines吗?还是我对此的理解有误?
这两者是如何结合在一起的?
Arrow fx 在处理 IO 时使用协程,而不是替换它们。类似于 Room 具有允许使用 Flow 的扩展。
这是错误的,Arrow Fx 为 Kotlin 的挂起系统构建了一个纯函数式运行时库。就像 KotlinX Coroutines 为 Kotlin 的库构建运行时库一样。
因此,这两个库都为 Kotlin 的挂起系统提供了一个实现,并且可以根据您的需要或用例互换或独立使用。
Arrow Fx 为 Kotlin 的挂起系统提供了一个纯函数式惰性运行时,带有副作用跟踪和 monad 理解(如 Pablisco 所示)。
它包含一个IO类型,这相当于suspend () -> A,有许多强大的并发原语一样Semaphore,Queue,Ref,Promise,等他们都保证资源的安全性,同时提供强大的并发和并行的组合程序,并自动取消支持。(在下一个版本中,我们还将支持 suspend () -> 任何一种)
与 KotlinX 协程相反,它提供了 Kotlin 挂起系统的急切实现,具有协作取消支持和冷流实现。
| 归档时间: |
|
| 查看次数: |
699 次 |
| 最近记录: |