Rich Hickey 的 Strange Loop 转换器演示文稿告诉我们 Clojure 1.6 中有两种实现map
,一种用于序列输入clojure.core
,一种用于通道输入core.async
。
现在我们知道,在 1.7 中我们有转换器,对于这些转换器,foldr
( reduce
) 函数是从高阶函数返回的,例如map
,filter
当给定一个函数而不是一个集合时。
我试图表达和失败的是为什么core.async
函数不能返回一个序列,或者是Seq
-like。我有一种“接口”(协议)不同的感觉,但我不知道如何。
当然,如果您要从频道中删除第一项,那么您可以将其表示为从序列中删除第一项?
我的问题是:可以core.async
在序列方面实现它的功能吗?