Rich Hickey's Strange Loop transducers presentation告诉我们在Clojure 1.6中有两个实现map
,一个用于clojure.core
中的序列,另一个用于core.async
中的通道。core.async是否可以通过序列实现它的功能?
现在我们知道,在1.7,我们有传感器,为此,foldr
(reduce
)功能从高阶函数给出的函数,但不是一个集合返回时像map
和filter
。
我想表达和失败的是,为什么core.async
函数不能返回序列,或者是类似于Seq
。我有一种感觉,'界面'(协议)是不同的,但我不明白。
当然,如果您将第一个项目从频道中取出,那么您可以将第一个项目表示为序列?
我的问题是:难道core.async
已经在序列方面实现了它的功能吗?