Каков правильный термин для следующего шаблона функционального программирования?

Я слышал, это называетсяпоток, какбесконечный список, а иногда даже какленивая последовательность.

Какой правильный термин для следующего шаблона? (Код Clojure показан)

(def first$ first)

(defn second$ [str]
  (cond
    (empty? str) ()
    true ((first (rest str)))))

(defn stream-builder [next_ n]
  (cons n (cons (fn [] (stream-builder next_ (next_ n))) ())))

(defn stream [str n]
  (cond
    (= 0 n) ()
    true (cons (first$ str) (stream (second$ str) (- n 1)))))

(def odd 
  (stream-builder (fn [n] 
        (+ 2 n))1))

(println (stream odd 23))

> (1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45)

Ответы на вопрос(2)

Ваш ответ на вопрос