Я попробовал следующее в Clojure, ожидая возвращения класса нелазной последовательности:
(.getClass (doall (take 3 (repeatedly rand))))
Однако это все равно возвращает clojure.lang.LazySeq
. Я предполагаю, что doall
оценивает всю последовательность, но возвращает исходную последовательность, поскольку она все еще полезна для memoization.
Итак, каково идиоматическое средство создания нелазной последовательности от ленивого?