Code Review

Compare your solutions

    #| BEGIN (Write your solution here) |#
(define (integrate-series series)
  (div-streams series integers))
(define (mul-series s1 s2)
  (cons-stream (* (stream-car s1)
                  (stream-car s2))
               (add-streams  (scale-stream (stream-cdr s1)
                                           (stream-car s2))
                             (mul-series s1
                                         (stream-cdr s2)))))
(define cosine-series
  (cons-stream 1
               (integrate-series (scale-stream sine-series -1))))

(define sine-series
  (cons-stream 0
               (integrate-series cosine-series)))

(define (invert-unit-series S)
  (cons-stream 1
               (scale-stream (mul-series (stream-cdr S)
                                         (invert-unit-series S))
                              -1)))
(define (div-series s1 s2)
  (if (= (stream-car s2) 0)
      (error "the denom is zero! -- DIV-SERIES" (stream-car s2))
      (mul-series s1
                  (invert-unit-series s2))))

(define tangent-series (div-series sine-series cosine-series))
#| END |#