I am not aware of a built-in operator that will call a function with individual sub-value arguments (i.e. curried arguments).
The function Curry has a promising-sounding name, but it lifts a function that takes uncurried arguments into one that takes curried arguments -- sort of the opposite of what we want here.
We could define our own by pressing one of the operators without built-in meanings into service. Let's use CirclePlus (⊕) in one of the following ways:
CirclePlus[f_, r___] := Fold[Construct, f, {r}]
or prior to version 11.3:
CirclePlus[f_, r___] := Fold[#[#2]&, f, {r}]
or using the now undocumented function HeadCompose:
CirclePlus = HeadCompose;
With any of these, we can then write:
f⊕a
(* f[a] *)
f⊕a⊕b
(* f[a][b] *)
f⊕a⊕b⊕c
(* f[a][b][c] *)
f⊕a⊕b⊕c⊕d
(* f[a][b][c][d] *)
Infix? According to documentation something likeInfix[ f[a,b,c], "~", 490, Left ]is supposed to word but does not. The same syntax should also work forPrefix. – gwr Jan 23 '19 at 10:19Applyis@@, not@. The operators@and//are both called "function application" in the Docs. So more correct title would be "Function application with left-associative grouping". – Alexey Popkov Feb 11 '19 at 11:02