Function Composition & Operator Forms
The symbolic structure of the Wolfram Language makes it easy to create "operators" that can be composed and manipulated symbolically—forming "pipelines" of operations—and then applied to arguments. Some built-in functions also directly support a "curried" form, in which they can immediately be given as symbolic operators.
f@x — function application f[x]
Composition or f@*g — left-to-right composition f[g[_]]
x//f — function application f[x]
RightComposition or f/*g — right-to-left composition g[f[_]]
ApplyTo or x//=f — x=f[x]
Construct — construct an expression from its head and arguments
Function — turn any expression into a pure function that can be applied
Identity — identity function
InverseFunction — symbolic inverse function
Inactive — a function made inactive
OperatorApplied — turn a function into one to be applied as an operator form
CurryApplied — general "curried" operator form
ReverseApplied — turn a function into one to be applied to reversed arguments
Functions with Operator Forms
Select — represent a selection operator to apply to expressions
Map ▪ Apply ▪ MapApply ▪ Comap ▪ ComapApply
Append ▪ Prepend ▪ Insert ▪ ReplacePart
SelectFirst ▪ FirstCase ▪ Cases ▪ DeleteCases
SortBy ▪ MaximalBy ▪ MinimalBy ▪ DeleteDuplicatesBy
Rearranging Functional Forms
Operate — form p[f][x] from p and f[x]
Through — form {f[x],g[x]} from {f,g}[x]
Distribute — distribute one symbolic function over another
Key — operator to extract a value from an association