Я хотел бы добавить пример к ответу @Francesco.

множество учебников о том, как выполнять функции карри, и столько же вопросов здесь, в stackoverflow. Тем не менее, после прочтения «Маленького Schemer», нескольких книг, учебных пособий, сообщений в блогах и потоковых потоков я все еще не знаю ответа на простой вопрос: «Какой смысл в карри?» Я понимаю, как использовать функцию, но не "почему?" за этим.

Может ли кто-нибудь объяснить мне практическое использование функций с карри (за исключением языков, которые допускают только один аргумент для функции, где необходимость использования каррирования, конечно, совершенно очевидна).

редактировать: Принимая во внимание некоторые примеры из TLS, в чем выгода

(define (action kind)
    (lambda (a b)
        (kind a b)))

в отличие от

(define (action kind a b)
    (kind a b))

Я вижу только больше кода и никакой дополнительной гибкости ...

Ответы на вопрос(8)

Ваш ответ на вопрос