codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
(require (lib "40.ss" "srfi")) (require (lib "43.ss" "srfi")) (define ones (stream-cons 1 ones)) (define (add-streams s1 s2) (stream-map + s1 s2)) (define integers (stream-cons 1 (add-streams ones integers))) (define (scale-stream stream factor) (stream-map (lambda (x) (* x factor)) stream)) (define (partial-sums s) (define sums (stream-cons 0 (add-streams s sums))) (stream-cdr sums)) (define (integrate-series s) (stream-map / s integers)) (define exp-series (stream-cons 1 (integrate-series exp-series))) (define cosine-series (stream-cons 1 (stream-map - (integrate-series sine-series)))) (define sine-series (stream-cons 0 (integrate-series cosine-series))) (define (mul-series s1 s2) (stream-cons (* (stream-car s1) (stream-car s2)) (add-streams (scale-stream (stream-cdr s2) (stream-car s1)) (mul-series (stream-cdr s1) s2)))) (define (invert-unit-series S) (stream-cons 1 (mul-series (stream-map - (stream-cdr S)) (invert-unit-series S)))) (define (div-series s1 s2) (mul-series s1 (invert-unit-series s2))) (define tan-series (div-series sine-series cosine-series)) (define head stream-car) (define tail (lambda (stream) (stream-cdr stream))) (letrec ( (n 10) (loop (lambda (s) (if (not (= n 0)) (begin (set! n (- n 1)) (write (head s)) (newline) (loop (tail s))))))) (loop tan-series))
Private
[
?
]
Run code
Submit