Код Ревью
Сравни свои решения
#| BEGIN (Write your solution here) |#
(define (ripple-carry-adder A B S c)
(define (loop A B S c-wire)
(cond ((and (null? A) (null? B) (null? S))
(set-signal! c-wire 0)
'ok)
((or (null? A) (null? B) (null? S))
(error "Wires lists are not same size -- RIPPLE-CARRY-ADDER"))
(else
(let ((next-c-wire (make-wire)))
(full-adder (car A) (car B) next-c-wire (car S) c-wire)
(loop (cdr A) (cdr B) (cdr S) next-c-wire)))))
(loop A B S c))
#| END |#