Conal 的 Signal 相当于 wiki 的 Behavior,它们是 Time -> a 尽管 Behavior 有一个新的包装器。Event 只是一个由 Maybe 组成的 Signal。
RxScala 的调度器似乎是 FRP 实现/管道,与程序员用于构建 FRP 应用程序(GUI 或否)的接口没有直接关系。我敢打赌,很多 Haskell FRP 都利用了非严格性,因此“安排”了未来的事件,但这对 JVM 的性能(特别是)不利,因此调度程序特性用于此目的。
RxScala 的 Observable trait 是 Signals 的通用接口,可以直接由原始/基本 Signals 实现,即它们不是由其他信号组成的。Observable 对象有点像工厂,有点像组合库,提供了将各种值提升到 FRP 框架的方法以及一些组合现有 Observable 实例的方法。
RxScala 的 Subject trait 用于用户定义的派生信号,即那些依赖于其他 Observable 的信号。要依赖 RxScala 中的 Observable,你必须实现 Observer。Subject 只是在 Observer 和 Observable 的组合之上添加了两个方法——转换为 Java Rx 框架的函数。
Observable 对象的组合器产生的派生信号可以实现 Subject,但只能保证实现 Obervable。似乎主题专门用于当您有独特/自定义/不寻常的方式将传入通知“连接”到传出通知时,特别是如果它是有状态的。
HTH。这是我第一次不仅仅浏览 RxScala 文档,所以很可能我错过了一些东西。