Clojure:懒惰序列的基础数据结构是什么?

时间:2014-12-05 11:22:07

标签: data-structures clojure lazy-sequences

如上所述,懒惰序列的基础数据结构是什么? 这是一个清单吗?如果是,那么它是什么样的清单?我在哪里可以找到关于此的参考?

1 个答案:

答案 0 :(得分:3)

数据结构是clojure.lang.Lazyseq,定义为herelazy-seq宏创建了这样的。

正如您所看到的,LazySeq本质上是一个链接列表,它以thunk(零参数函数)成员fn开始。实现序列后,fn用于生成数据成员ssv,并且本身已取消。我无法弄清ssv如何相互关联。