Код Ревью

Сравни свои решения

    #| Для этого упражнения нет проверок.
Любое решение будет считаться успешным ответом. |#
; Вариант релизации 1
(define (+ a b)
  (if (= a 0)
      b
      (inc (+ (dec a) b))))
(+ 4 5)
4 <> 0 ->(inc (+ (dec 4) 5)))->(inc (+ 3 5))->?
(+ 3 5)
3 <> 0 ->(inc (+ (dec 3) 5)))->(inc (+ 2 5))->?
(+ 2 5)
2 <> 0 ->(inc (+ (dec 2) 5)))->(inc (+ 1 5))->?
(+ 1 5)
1 <> 0 ->(inc (+ (dec 1) 5)))->(inc (+ 0 5))->?
(+ 0 5)
0 = 0 ->5
(inc (inc (inc (inc (+ 0 5))))) = (inc (inc (inc (inc 5)))) =
= (inc (inc (inc 6))) = (inc (inc 7)) = (inc 8) = 9
; Вариант релизации 2
(define (+ a b)
  (if (= a 0)
      b
      (+ (dec a) (inc b))))
(+ 4 5)
4 <> 0->(+ (dec 4) (inc 5))->(+ 3 6)->?
(+ 3 6)
3 <> 0->(+ (dec 3) (inc 6))>(+ 2 7)->?
(+ 2 7)
2 <> 0->(+ (dec 2) (inc 7))>(+ 1 8)->?
(+ 1 8)
1 <> 0->(+ (dec 1) (inc 8))>(+ 0 9)->?
(+ 0 9)
0 = 0 -> 9
; вариант 1 рекурсивный процесс, вариант 2 итеративный?