在这篇博文“JavaScript 中的 CSP 和转换器”中,作者指出:
首先,我们必须意识到许多数组(或其他集合)操作,如
map
,filter
并且reverse
可以用 a 来定义reduce
。
因此,我们看到Clojure 中的一些实现并不是懒惰的,而是急切的:
user> (defn eager-map [f coll]
(reduce (fn [acc v] (conj acc (f v)))
[]
coll))
#'user/eager-map
user> (eager-map inc (range 10))
[1 2 3 4 5 6 7 8 9 10]
我的问题是,Clojure 转换器是否渴望?