stream-delay

[syntax] stream-delay expr

SRFI-40: Returns a stream which is a delayed form of expr---when the value of the components of the stream is needed, expr is evaluated.

(define from0
  (let loop ((x 0))
    (stream-delay
      (stream-cons x (loop (+ x 1))))))
from0                                       => (stream 0 1 2 3 4 5 6 ...)