Мне нужно написать свою собственную функцию карты, используя foldr.
Самое простое решение, которое приходит на ум:
(define (my-map f lst)
(foldr (lambda (x y) (cons (f x) y)) empty lst))
Однако я должен сделать это без использования лямбда (или любой вспомогательной функции), рекурсии или любой функции абстрактного списка, отличной от папки.
У меня также есть следующие вопросы (которые я не могу изменить):
(define (compose f g)
(lambda (x) (f (g x))))
(define (curry f)
(lambda (x) (lambda (y) (f x y))))
(define (uncurry f)
(lambda (x y) ((f x) y)))
Я предполагаю, что мне нужно сделать какой-то эквивалент (лямбда (x y) (cons (f x) y)) с использованием вышеуказанных функций. Как именно я буду это делать?