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
已經在序列方面實現了它的功能嗎?