lazy-seq
produces a sequence that is evaluated lazily
Usage:
(lazy-seq form*)
An Example:
(define (fib-seq)
(let [fib (lambda-rec fib (a b)
(lazy-seq (cons a (fib b (+ a b)))))]
(fib 0 1)))
(for-each [x (take 300 (fib-seq))]
(println x))
This example prints the first 300 fibonacci numbers.