CurryApplied[f,n]
represents an operator form of the function f of n arguments so that CurryApplied[f,n][x1]…[xn] is equivalent to f[x1,…,xn].
CurryApplied[n]
represents an operator form of CurryApplied that can be applied to a function to represent an operator form with n arguments.
CurryApplied[f,{i1,…,in}]
represents an operator form of the function f of n arguments so that CurryApplied[f,{i1,…,in}][x1]…[xn] is equivalent to f[xi1,…,xin].
CurryApplied[f,k{i1,…,in}]
represents an operator form that takes k arguments.
CurryApplied
CurryApplied[f,n]
represents an operator form of the function f of n arguments so that CurryApplied[f,n][x1]…[xn] is equivalent to f[x1,…,xn].
CurryApplied[n]
represents an operator form of CurryApplied that can be applied to a function to represent an operator form with n arguments.
CurryApplied[f,{i1,…,in}]
represents an operator form of the function f of n arguments so that CurryApplied[f,{i1,…,in}][x1]…[xn] is equivalent to f[xi1,…,xin].
CurryApplied[f,k{i1,…,in}]
represents an operator form that takes k arguments.
Details
- CurryApplied[f,arity][x1,…][y1,…]…[z1,…] is equivalent to CurryApplied[f,arity][x1,…,y1,…,z1,…], so that the structure of brackets is not relevant, only the number of arguments.
- CurryApplied[f,n] is equivalent to CurryApplied[f,{1,2,…,n}].
- CurryApplied[f,{i1,…,in}] is equivalent to CurryApplied[f,Max[{i1,…,in}]{i1,…,in}].
- CurryApplied[f,{i1,…,in,opts}][x1]…[xk] is equivalent to f[xi1,…,xin,opts] for a sequence opts of options.
- The ip
curried argument of CurryApplied[f,{i1,…,in}] will be the p
argument of f. - CurryApplied[arity][f] is equivalent to CurryApplied[f,arity].
Examples
open all close allBasic Examples (3)
Curry a function of two arguments:
CurryApplied[f, 2][x][y]Use the operator form of CurryApplied to do the same thing:
CurryApplied[2][f][x][y]Curry a function of three arguments, keeping their order:
CurryApplied[f, 3][x][y][z]This is a curried form of Integrate that curries two integration variables:
CurryApplied[Integrate, {3, 1, 2}][x][y]Apply it to a function of variables
and
:
%[x Sin[y]]Integrate[x Sin[y], x, y]Scope (7)
Curry the first argument of a function of two arguments:
truncatedJD = CurryApplied[2][JulianDate]["Truncated"];Apply the function to any date object:
truncatedJD[Now]truncatedJD[DateObject[{2000, 1, 1, 12, 0, 0}, TimeZone -> 0]]Curry the second argument of a function:
Dx = CurryApplied[{2, 1}][D][x]Dx[f[x]]Curry a function of 3 arguments, keeping their order:
CurryApplied[Nest, 3][f][x][4]Curry a function of 3 arguments, applying a permutation before they are passed to the function:
CurryApplied[Nest, {3, 1, 2}][x][4][f]These are curried operators taking 4 arguments, but only 2 of them are passed to the function f:
CurryApplied[f, {2, 4}][a][b][c][d]CurryApplied[f, 4 -> {2, 3}][a][b][c][d]Use arguments of the curried function with any bracketing structure:
op = CurryApplied[f, 3]op[a][b][c]op[a, b, c]op[a, b][c]op[][a][][][b, c]Curry Level with default option values:
Sin[x[0] + 3]//CurryApplied[Level, {2, 1}][2]Pass options to Level:
Sin[x[0] + 3]//CurryApplied[Level, {2, 1, Heads -> True}][2]Sin[x[0] + 3]//CurryApplied[Level[##, Heads -> True]&, {2, 1}][2]Applications (4)
Curry Composition of 3 functions:
CurryApplied[Composition, 3]Feed the 3 functions sequentially:
%[f]%[g]%[h]Apply the composition to an expression:
Construct[%, x]Specify how many arguments are functions to be composed:
CurryApplied[Composition, 3][f, g, h, x, y]Build an array of subscripted variables:
Array[CurryApplied[Subscript, 4][x], {2, 3, 2}]Build the K and S combinators using CurryApplied:
k = CurryApplied[Identity, 2 -> {1}];
s = CurryApplied[Function[#1[#3][#2[#3]]], 3];The combinations SKK and SKS are equivalent to the identity:
s[k][k][x]s[k][s][x]Build the B and C combinators using S and K:
b = s[k[s]][k];
c = s[s[k[s[k[s][k]]][s]][k[k]]];b[f][g][x]c[f][x][y]Properties & Relations (7)
CurryApplied[f,arity] represents the same operator as OperatorApplied[f,arity]:
CurryApplied[f, 3][a][b][c]OperatorApplied[f, 3][a][b][c]CurryApplied[n][f] is equivalent to CurryApplied[f,n]:
CurryApplied[2][f][x][y]CurryApplied[f, 2][x, y]OperatorApplied[f] is equivalent to OperatorApplied[f,{2,1}]:
OperatorApplied[f][x][y]OperatorApplied[f, {2, 1}][x][y]For a function of zero arguments, CurryApplied[f,0] returns f[]:
CurryApplied[f, 0]If additional arguments are provided, the empty pair of brackets is still inserted:
CurryApplied[f, 0][a, b]Curry CurryApplied itself:
CurryApplied[2][CurryApplied][f][3][a][b][c]Compare to Construct:
Construct[f, a, b, c]For positive n, CurryApplied[Construct,n][f] is equivalent to CurryApplied[f,n-1]:
CurryApplied[Construct, 3][f][a][b][c]CurryApplied[f, 2][a][b][c]The relation also holds for n=1:
CurryApplied[Construct, 1][f]CurryApplied[f, 0]Compose two CurryApplied operators with a permutation and its inverse:
perm = {2, 4, 1, 3}
invperm = InversePermutation[perm]The result is equivalent to using CurryApplied without reordering the arguments:
CurryApplied[CurryApplied[f, perm], invperm][a][b][c][d]CurryApplied[f, 4][a][b][c][d]Take two permutation lists of the same length:
perm1 = {2, 4, 1, 3};
perm2 = {3, 2, 4, 1};Compose the corresponding CurryApplied operators:
CurryApplied[CurryApplied[f, perm1], perm2][a][b][c][d]Alternatively, use CurryApplied with their permutation product, in the same order:
CurryApplied[f, PermutationProduct[perm1, perm2]][a, b, c, d]Related Guides
History
Text
Wolfram Research (2020), CurryApplied, Wolfram Language function, https://reference.wolfram.com/language/ref/CurryApplied.html.
CMS
Wolfram Language. 2020. "CurryApplied." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/CurryApplied.html.
APA
Wolfram Language. (2020). CurryApplied. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/CurryApplied.html
BibTeX
@misc{reference.wolfram_2026_curryapplied, author="Wolfram Research", title="{CurryApplied}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/CurryApplied.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_curryapplied, organization={Wolfram Research}, title={CurryApplied}, year={2020}, url={https://reference.wolfram.com/language/ref/CurryApplied.html}, note=[Accessed: 13-June-2026]}