В настоящее время я изучаю рекурсию в Scheme. Я нашел это рекурсивное определение, но не понимаю, что оно пытается сделать. Если бы кто-то мог объяснить это мне, я был бы признателен. Вот определение:
(define (function ls)
(if (null? ls) '()
(append
(map (lambda (x) (cons (car ls) x))
(function (cdr ls))
)
(function (cdr ls))
)
)
)