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