(define unary-add
(lambda (list1 list2)
(if (pair? list1)
(cons (car list1)
(unary-add (cdr list1) list2))
list2)))
Я выполнил сложение двух унарных представлений списков, как указано выше. Теперь я хочу их умножить, рассматривая умножение как многократное сложение. Итак, я использовал эту функцию и сделал следующее:
(define unary-mul
(lambda (list1 list2)
(if (pair? list1)
(cons (car list1)
(unary-mul (unary-add (cdr list1) list2)))
list2)))
При запуске кода он говорит, что аргументы не совпадают. Где я ошибся?