1 (define (ripple-carry-adder A B S C) 2 (let ((c-in (make-wire))) 3 (if (null? (cdr A)) 4 (set-signal! c-in 0) 5 (ripple-carry-adder (cdr A) (cdr B) (cdr S) c-in)) 6 (full-adder (car A) (car B) c-in (car S) C)))