OperatorApplied[f,n]
represents an operator form of the function f of n arguments so that OperatorApplied[f,n][x1]…[xn] is equivalent to f[x1,…,xn].
represents an operator form of the function f of two arguments so that OperatorApplied[f][y][x] is equivalent to f[x,y].
OperatorApplied[f,{i1,…,in}]
represents an operator form of the function f of n arguments so that OperatorApplied[f,{i1,…,in}][x1]…[xn] is equivalent to f[xi1,…,xin].
OperatorApplied[f,k{i1,…,in}]
represents an operator form that takes k arguments.
OperatorApplied
OperatorApplied[f,n]
represents an operator form of the function f of n arguments so that OperatorApplied[f,n][x1]…[xn] is equivalent to f[x1,…,xn].
represents an operator form of the function f of two arguments so that OperatorApplied[f][y][x] is equivalent to f[x,y].
OperatorApplied[f,{i1,…,in}]
represents an operator form of the function f of n arguments so that OperatorApplied[f,{i1,…,in}][x1]…[xn] is equivalent to f[xi1,…,xin].
OperatorApplied[f,k{i1,…,in}]
represents an operator form that takes k arguments.
Details
- OperatorApplied[f,arity][x1,…][y1,…]…[z1,…] is equivalent to OperatorApplied[f,arity][x1,…,y1,…,z1,…], so that the structure of brackets is not relevant, only the number of arguments.
- OperatorApplied[f] is equivalent to OperatorApplied[f,{2,1}].
- OperatorApplied[f,n] is equivalent to OperatorApplied[f,{1,2,…,n}].
- OperatorApplied[f,{i1,…,in}] is equivalent to OperatorApplied[f,Max[{i1,…,in}]->{i1,…,in}].
- OperatorApplied[f,{i1,…,in,opts}][x1]…[xk] is equivalent to f[xi1,…,xin,opts] for a sequence opts of options.
- The ip
curried argument of OperatorApplied[f,{i1,…,in}] will be the p
argument of f.
Examples
open all close allBasic Examples (3)
Use the operator form of a function, currying its second argument:
OperatorApplied[f][x][y]Curry a function of three arguments, keeping their order:
OperatorApplied[f, 3][x][y][z]This is an operator form of Integrate that curries two integration variables:
OperatorApplied[Integrate, {3, 1, 2}][x][y]Apply it to a function of variables
and
:
%[x Sin[y]]Integrate[x Sin[y], x, y]Scope (6)
Construct an operator form of D that curries its differentiation variable:
Dx = OperatorApplied[D][x]Dx[f[x]]Curry a function of 3 arguments, keeping their order:
OperatorApplied[Nest, 3][f][x][4]Apply the operator form of a function of 3 reordered arguments using a permutation:
OperatorApplied[Nest, {3, 1, 2}][x][4][f]These are operator forms taking 4 arguments, but only 2 of them are passed to the function f:
OperatorApplied[f, {2, 4}][a][b][c][d]OperatorApplied[f, 4 -> {2, 3}][a][b][c][d]Use arguments of the operator form with any bracketing structure:
op = OperatorApplied[f, 3]op[a][b][c]op[a, b, c]op[a, b][c]op[][a][][][b, c]Use an operator form of Level with default option values:
Sin[x[0] + 3]//OperatorApplied[Level][2]Pass options to Level:
Sin[x[0] + 3]//OperatorApplied[Level, {2, 1, Heads -> True}][2]Sin[x[0] + 3]//OperatorApplied[Level[##, Heads -> True]&][2]Applications (5)
Take an operator form of Composition for 3 functions:
OperatorApplied[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:
OperatorApplied[Composition, 3][f, g, h, x, y]Use OperatorApplied to construct the opposite order of a given ordering function:
oppositeAlphabeticOrder = OperatorApplied[AlphabeticOrder];{Order["a", "b"], oppositeAlphabeticOrder["a", "b"]}{Order["a", "a"], oppositeAlphabeticOrder["a", "a"]}Build an array of subscripted variables:
Array[OperatorApplied[Subscript, 4][x], {2, 3, 2}]Build the K and S combinators using OperatorApplied:
k = OperatorApplied[Identity, 2 -> {1}];
s = OperatorApplied[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 (8)
OperatorApplied[f,arity] represents the same operator as CurryApplied[f,arity]:
OperatorApplied[f, 3][a][b][c]CurryApplied[f, 3][a][b][c]OperatorApplied[f] is equivalent to OperatorApplied[f,{2,1}]:
OperatorApplied[f][x][y]OperatorApplied[f, {2, 1}][x][y]CurryApplied[n][f] is equivalent to CurryApplied[f,n]:
CurryApplied[2][f][x][y]CurryApplied[f, 2][x, y]OperatorApplied[f][x,y] is equivalent to ReverseApplied[f][x,y]:
OperatorApplied[f][x, y]ReverseApplied[f][x, y]For a function of zero arguments, OperatorApplied[f,0] returns f[]:
OperatorApplied[f, 0]If additional arguments are provided, the empty pair of brackets is still inserted:
OperatorApplied[f, 0][a, b]Curry OperatorApplied itself:
OperatorApplied[OperatorApplied][3][f][a][b][c]Compare to Construct:
Construct[f, a, b, c]For positive n, OperatorApplied[Construct,n][f] is equivalent to OperatorApplied[f,n-1]:
OperatorApplied[Construct, 3][f][a][b][c]OperatorApplied[f, 2][a][b][c]The relation also holds for n=1:
OperatorApplied[Construct, 1][f]OperatorApplied[f, 0]Compose two OperatorApplied operators with a permutation and its inverse:
perm = {2, 4, 1, 3}
invperm = InversePermutation[perm]The result is equivalent to using OperatorApplied without reordering the arguments:
OperatorApplied[OperatorApplied[f, perm], invperm][a][b][c][d]OperatorApplied[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 OperatorApplied operators:
OperatorApplied[OperatorApplied[f, perm1], perm2][a][b][c][d]Alternatively, use OperatorApplied with their permutation product, in the same order:
OperatorApplied[f, PermutationProduct[perm1, perm2]][a, b, c, d]Related Guides
History
Text
Wolfram Research (2020), OperatorApplied, Wolfram Language function, https://reference.wolfram.com/language/ref/OperatorApplied.html.
CMS
Wolfram Language. 2020. "OperatorApplied." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/OperatorApplied.html.
APA
Wolfram Language. (2020). OperatorApplied. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/OperatorApplied.html
BibTeX
@misc{reference.wolfram_2026_operatorapplied, author="Wolfram Research", title="{OperatorApplied}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/OperatorApplied.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_operatorapplied, organization={Wolfram Research}, title={OperatorApplied}, year={2020}, url={https://reference.wolfram.com/language/ref/OperatorApplied.html}, note=[Accessed: 13-June-2026]}