2

我已经在 J​​ava 中使用 ReactiveX 扩展工作了几年,但现在我转向 scala,并且我看到很多人使用扩展 ScalaZ 在 Scala 中执行更多功能性编程。

使用 ScalaZ 扩展是否有任何区别,或者只是将 reactiveX 调整到我所做的 Scala 并且我知道与 Scala 配合得很好?

在阅读了这篇博客https://medium.com/@luijar/the-observable-disguised-as-an-io-monad-c89042aa8f31之后,我虽然在 Scalaz 中作为 IO monad 工作

问候。

4

1 回答 1

4

Scalaz 和 ReactiveX 是完全正交的。

Scalaz 专注于将类别理论 à la Haskell 引入 Scala。它带来了大量带有 Monads 和 Monoids 以及其他好东西的类型类。

另一方面,ReactiveX 更专注于将反应式编程概念引入语言。它带有 Observables 和 Observers。

你甚至可以将 RxScala 与 Scalaz 结合使用!有一个名为RxScalaz为 RxScala 提供一些 Scalaz 的类型类实例的存储库。在这里查看:https ://github.com/everpeace/rxscalaz

如果您对“仅”使用 RxScala 感到满意,那么就没有“真正”需要将 Scalaz 纳入您的项目。

于 2017-03-09T10:48:41.850 回答