(wat-aro)

生きてます

SICP 問題 3.19

答え見た.
https://github.com/nomnel/SICP/blob/master/3/19.scm
一歩ずつ進むポインタと二歩ずつ進むポインタが同じになれば循環している.
うまいこと考えてるな.

(define (look-check x)
  (define (check x0 x1)
    (cond ((eq? x0 x1) #t)
          ((null? (cdr x1)) #f)
          ((null? (cddr x1)) #f)
          (else
           (check (cdr x1) (cddr x1)))))
  (if (and (pair? x) (pair? (cdr x)))
      (check (cdr x) (cddr x))
      #f))