Почему функция карри называется карри?

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

Ответ 1

Он назван в честь Haskell Curry, который работал над математическими основами функционального программирования.

Ответ 2

Само понятие названо в честь Haskell Curry, который его разработал.

Currying в основном преобразует функцию из N аргументов в "дерево" из N вложенных функций, каждый из которых принимает один аргумент.

В Haskell функция curry преобразует функцию двух аргументов в функцию одного аргумента, которая возвращает другую функцию одного аргумента, которая, наконец, вернет результат. Он имеет тип:

curry :: ((a, b) -> c) -> a -> b -> c

Его реализация короче определения типа:

curry f x y =  f (x, y)