Fold
(он же reduce
) считается очень важной функцией высшего порядка. Карта
может быть выражена в терминах складки
( см. Здесь ). Но для меня это звучит скорее академично, чем практично. Типичное использование может заключаться в получении суммы, произведения или максимального числа чисел, но эти функции обычно принимают любое количество аргументов. Так зачем писать (fold + 0 '(2 3 5))
, когда (+ 2 3 5)
работает нормально. Мой вопрос: в какой ситуации проще или естественнее всего использовать fold
?