Так, например, учитывая
(lfmap '(f1 f2 f3) '(a1 a2 a3 a4))
, он должен возвращать что-то вроде оценки следующего ...
(
(f1(f2(f3(a1))))
(f1(f2(f3(a2))))
(f1(f2(f3(a3))))
(f1(f2(f3(a4))))
)
Примечание: вышеупомянутое не может бытьДействующая схема, но, надеюсь, сообщает о моих намерениях.Итак, как правильно это сделать?Я попробовал следующее ...
(define (lfmap lfunctions lvals)
(define (_lfmap lfuncs val)
(if (null? lfuncs)
acum
(_lfmap (cdr lfuncs) (apply (car lfuncs) val))))
(map (lambda (x) (_lfmap lfunctions x)) lvals))
Но он даже не запускается ...