Само по себе карри является синтаксическим сахаром.Синтаксический сахар - это то, что вы хотите сделать легким.C, например, хочет сделать инструкции, которые являются «дешевыми» на ассемблере, такие как инкрементные, простые и поэтому они имеют синтаксический сахар для приращения, нотацию ++.
t = x + y
x = x + 1
заменяется на t = x ++ + y
Функциональные языки могут так же легко иметь такие вещи, как.
f(x,y,z) = abc
g(r,s)(z) = f(r,s,z).
h(r)(s)(z) = f(r,s,z)
но вместо этого все автоматически.И это позволяет передавать ag, связанный с определенным r0, s0 (т.е. определенными значениями), как функцию с одной переменной.
Возьмем, к примеру, функцию сортировки perl, которая принимает подсписок сортировки, где sub - это функция двух переменных, которая вычисляет логическое значение, а list - произвольный список.
Вы, естественно, захотите использовать сравнениеоператоры (<=>) в Perl и имеют sortordinal = sort (<=>), где sortordinal работает со списками.Чтобы сделать это, вы бы отсортировали функцию карри.
И фактически сортировка списка определена именно так в Perl.
Короче говоря: карри - это сахар, чтобы сделать первоклассные функции более естественными.