(require-library srfi-41) (import (rename srfi-41 (stream? list?) (stream-pair? pair?) (stream-null? null?) (stream-occupied? occupied?) (stream-null null) (stream-cons cons) (stream-lambda lambda) (stream-car car) (stream-cdr cdr) (stream-of constantly) (stream-let let) (stream-match match) (stream-append append) (stream-concat concat) (stream-drop drop) (stream-drop-while drop-while) (stream-filter filter) (stream-fold fold) (stream-for-each for-each) (stream-map map) (stream-from from) (stream-iterate iterate) (stream-length length) (stream-range range) (stream-ref ref) (stream-reverse reverse) (stream-scan scan) (stream-unfold unfold) (stream-unfolds unfolds) (stream-zip zip) (stream-intersperse intersperse) (stream-split split) (stream-member member) (stream-partition partition) (stream-finds finds) (stream-find find) (stream-remove remove) (stream-every every) (stream-any any) (stream-and and) (stream-or or) (stream-fold-right fold-right) (stream-fold-right-one fold-right-one) (stream-assoc assoc) (stream-equal? equal?) (stream-quick-sort quick-sort) (stream-insertion-sort insertion-sort) (stream-maximum maximum) (stream-minimum minimum) (stream-max max) (stream-min min) (stream-sum sum) (odd-numbers-stream odd-numbers) (even-numbers-stream even-numbers) (cardinal-numbers-stream cardinal-numbers) (natural-numbers-stream natural-numbers) (prime-numbers-stream prime-numbers) (hamming-sequence-stream hamming-sequence))) (define (factorial n) (ref (scan * 1 (from 1))) n) (factorial 3)