LINUX.ORG.RU

История изменений

Исправление Virtuos86, (текущая версия) :

(define (f/apply ff . fn)
  (lambda args (apply ff (map (lambda (f) (apply f args)) fn))))

Ложь. Знаешь, в чем проблема этой записи? Здесь пользовательские функции и переменные идут вперемешку со служебными. map lambda apply f args fn… Если глаз привык видеть структуру — ок, в противном случае полный атас. Даже в моем варианте с питоньими лямбдами нет такой мешанины. Форматирование, конечно, сильно исправит ситуацию, но в питоне оно принудительное, а в схеме, как видно, этим нормально брезговать.

Звёздочки нужны для записи вариадиков, это да, не зная, можно сильно озадачиться)

Исходная версия Virtuos86, :

(define (f/apply ff . fn)
  (lambda args (apply ff (map (lambda (f) (apply f args)) fn))))

Ложь. Знаешь, в чем проблема этой записи? Здесь пользовательские функции и переменные идут вперемешку со служебными. map lambda apply f args fn… Если глаз привык видеть структуру — ок, в противном случае полный атас. Даже в моем варианте с питоньими лямбдами нет такой мешанины. Звёздочки нужны для записи вариадиков, это да, не зная, можно сильно озадачиться)