Javascript 生成器和 Clojure lazy-seq 在概念上是相同的吗?



Javascript生成器函数和Clojure懒惰-seq函数的目标在概念上是相同的吗,即从函数中延迟返回值列表?或者每个都有一些不同的用例?Clojure是否使用熟悉的机制来实际实现惰性seq?

Javascript 生成器是可变的。Clojure懒惰序列不是。

Clojure有一个专用的惰性序列机制。 若要创建一个宏,请调用lazy-sequence宏。这会将其主体形式包装为无参数的 Clojure 函数(对象实现clojure.lang.Ifn(包含在本质上记忆序列协议的clojure.Lang.LazySeq对象中。

最新更新