(define s (cons-stream 1 (cons-stream 2 nil))) (define (constant-stream i) (cons-stream i (constant-stream i)) ) (define (nats start) (cons-stream start (nats (+ start 1))) ) (define (add-stream s1 s2) (cons-stream (+ (car s1) (car s2)) (add-stream (cdr-stream s1) (cdr-stream s2))) ) (define ones (cons-stream 1 ones)) (define ints (cons-stream 1 (add-stream ones ints))) (define (prefix s k) (if (= k 0) nil (cons (car s) (prefix (cdr-stream s) (- k 1))) ) ) (define (map-stream f s) (if (null? s) nil (cons-stream (f (car s)) (map-stream f (cdr-stream))) ) )