Rich Hickey的传感器Strange Loop谈话中的"并行"概念是什么?

haw*_*eye 8 clojure transducer

关于传感器Strange Loop演示中, Rich Hickey在一个名为"parallel"的表中提到了一个概念.

在此输入图像描述

您可以使用传感器轻松查看seqs和into和通道的示例.

现在你可以看出Observables 正在谈论RxJava.

我的问题是Rich Hickey的传感器Strange Loop谈话中的"并行"概念什么?这是期货,或pmap或其他什么的列表?

Ale*_*ler 11

关于创建并行转换过程有一些想法.这被追踪为CLJ-1553.目前我们不打算在Clojure 1.7中解决这个问题,但是想在Clojure 1.8中做些什么.

现在可以设置一个使用传感器作为底部减少阶段的减速器(以及更传统的组合器fns),但理想情况下我们将能够利用持久性矢量和映射所体现的"自我可简化"概念来支持传感器以更自然的方式并行.

现在很有可能这会出现某种前奏功能,但还有很多事情需要决定.

一个有问题的领域是处理kv形式 - 减速器在那里做了一些选择,这些选择对于传感器来说是困难的或不方便的,因此需要进行处理.


Mic*_*zyk 7

该概念仅仅是并行执行计算的概念.有多种可能的实现:

  1. clojure.core.reducers/fold,它类似于reduce,除了它应该只与关联约简函数一起使用,它由一个协议支持,该协议利用各种Clojure数据结构的树结构来并行化计算工作.它实际上并不适合传感器,但它对减速器非常友好,似乎启用传感器的版本最终会到达.

  2. core.async带有换能器支持的最新版本导出了一个函数pipeline,该函数可以并行化基于通道→通道传感器的转换.