(wat-aro)

無職から有職者にランクアップしました

SICP 問題 3.18

;; 循環するリストを見つける手続き
(define (cycle? x)
  (let recur ((x x)
              (record '()))
    (cond ((not (pair? x)) #f)
          ((memq x record) #t)
          (else
           (or (recur (car x) (cons x record))
               (recur (cdr x) (cons x record)))))))