第87回素人くさいSICP読書会

  • P202-203
  • 参加者5人
  • Exercise 3.69
    • 発表した.コードは以下.
(define triples
  (lambda (s t u)
    (cons-stream
     (list (stream-car s) (stream-car t) (stream-car u))
     (interleave
      (stream-map ; (lambda (x) (list (stream-car s) x))
                  (lambda (x) (cons (stream-car s) x))
                  (stream-cdr (pairs t u)))
      (triples (stream-cdr s)
               (stream-cdr t)
               (stream-cdr u))))))

(define int-triples (triples integers integers integers))

(define pythagoras-triple?
  (lambda (triple)
    (let ((i (car triple))
          (j (cadr triple))
          (k (caddr triple)))
      (= (+ (* i i) (* j j))
         (* k k)))))

(display-stream-n
 (stream-filter pythagoras-triple? int-triples)
 5)
    • 5個以上はすさまじく時間かかる.
  • Exercise 3.70 の途中で時間切れ.
    • 問題文が分かり辛い.
  • サイボウズラボは今月いっぱいで某所に引っ越しらしい.