Вопросы с тегом «currying»

15
В чем преимущество карри?
Я только что узнал о карри, и хотя я думаю, что понимаю концепцию, я не вижу большого преимущества в ее использовании. В качестве тривиального примера я использую функцию, которая добавляет два значения (написано в ML). Версия без карри будет fun add(x, y) = x + y и будет называться add(3, …

1
Являются ли цепочечные методы, которые требуют только одного параметра на метод, эквивалентными каррированию?
В последнее время я играю с Ruby, и мне стало интересно, если в чистых объектно-ориентированных языках (и даже в тех, которые не являются чистыми) создание методов, которые принимают только один параметр, а затем объединяются в цепочки, эквивалентно каррированию в языках с функционалом стиль? Если нет, то почему нет? Буду признателен …

3
Можно ли одновременно иметь карри и вариадную функцию?
Я думаю о том, чтобы сделать функции каррирования и вариации доступными в динамически типизированном функциональном языке программирования, но мне интересно, возможно ли это или нет. Вот несколько псевдокодов: sum = if @args.empty then 0 else @args.head + sum @args.tail который якобы суммирует все свои аргументы. Затем, если sumсам трактуется число, …

4
Что особенного в карри или частичном применении?
Я каждый день читаю статьи по функциональному программированию и стараюсь как можно больше применять некоторые практики. Но я не понимаю, что уникально в карри или частичном применении. Возьмем этот Groovy-код в качестве примера: def mul = { a, b -> a * b } def tripler1 = mul.curry(3) def tripler2 …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.