Эй, я работаю над домашним заданием о применении функции к каждому элементу в списке, углубляясь до необходимого уровня.
Я получаю сообщение об ошибке при вызове (забавно (машина л)), что
mcar: expects argument of type <mutable-pair>; given 5
и все же, когда я просто звоню (забавно), я получаю ошибку
+: ожидает тип в качестве 1-го аргумента, учитывая: (5); другие аргументы были: 1
(define (map-gen fun l)
(if (null? fun) l
(if (null? l) '()
(if (list? (car l))
(append (map-gen fun (cdr l)) (map-gen fun (car l)))
(append (map-gen fun (cdr l)) (fun (car l)))))))
Любая помощь приветствуется!
edit: это когда вызывается функция так:
(map-gen (lambda (x) (+ x 1))'(1 (2 (3 4))(((5)))))