> (from 10) (10 . #) > (take 10 (from 10)) (10 11 12 13 14 15 16 17 18 19) > nats (0 . #) > > (take 20 fibs) (0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181) > (define facts (map-stream fact nats)) > facts (1 . #) > (take 10 facts) (1 1 2 6 24 120 720 5040 40320 362880) > (take 10 (map-stream (lambda (x) (* x x)) nats)) (0 1 4 9 16 25 36 49 64 81) > (define evens (filter-stream even? nats)) > evens (0 . #) > (take 10 evens) (0 2 4 6 8 10 12 14 16 18) > (define negatives (filter-stream negative? nats)) [image] [image] user break > (take 10 (zip-streams + nats fibs)) (0 2 3 5 7 10 14 20 29 43) > (take 10 (zip-streams + nats nats)) (0 2 4 6 8 10 12 14 16 18) > (take 10 (zip-streams * nats nats)) (0 1 4 9 16 25 36 49 64 81) > (define x (+ x 1)) [image] [image] x: undefined; cannot reference an identifier before its definition > (head ones) 1 > (head (tail ones)) 1 > (take 10 ones) (1 1 1 1 1 1 1 1 1 1) > (take 10 (zip-streams + ones ones)) (2 2 2 2 2 2 2 2 2 2) > (take 10 (zip-streams * ones ones)) (1 1 1 1 1 1 1 1 1 1) > (take 10 (zip-streams + nats ones)) (1 2 3 4 5 6 7 8 9 10) > (take 10 nats) (0 1 2 3 4 5 6 7 8 9) > (head (tail (tail nats))) 2 > (take 10 fibs) (0 1 1 2 3 5 8 13 21 34) > (take 20 fibs) (0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181) > (nondivisor 2) # > (take 10 (filter-stream (nondivisor 2) nats)) (1 3 5 7 9 11 13 15 17 19) > (take 10 (filter-stream odd? nats)) (1 3 5 7 9 11 13 15 17 19) > (take 30 (filter-stream (nondivisor 5) nats)) (1 2 3 4 6 7 8 9 11 12 13 14 16 17 18 19 21 22 23 24 26 27 28 29 31 32 33 34 36 37) > primes (0 . #) > (take 10 primes) [image] [image] remainder: division by zero > > (take 10 primes) (2 3 5 7 9 11 13 15 17 19) > (take 20 primes) (2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71) > (take 20 primes) (2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71)