Mathematica 9 is now available
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.
Mathematica > Core Language >
Functional Programming
Long viewed as an important theoretical idea, functional programming finally became truly convenient and practical with the introduction of Mathematica's symbolic language. Treating expressions like f[x] as both symbolic data and the application of a function f provides a uniquely powerful way to integrate structure and function—and an efficient, elegant representation of many common computations.
Function (&) — specify a pure function (e.g. (#+1)&)
#, ## slots for variables in a pure function
Map (/@) — map across a list: f/@{x, y, z}LongRightArrow{f[x], f[y], f[z]}
Apply (@@, @@@) — apply to a list: f@@{x, y, z}LongRightArrowf[x, y, z]
MapIndexed map with index information: {f[x, {1}], f[y, {2}], f[z, {3}]}
MapThread  ▪ MapAt  ▪ MapAll  ▪ Scan  ▪ ...
Nest, NestList nest a function: f[f[f[x]]] etc.
Fold, FoldList fold in a list of values: f[f[f[x, 1], 2], 3] etc.
FixedPoint, FixedPointList repeatedly nest until a fixed point
NestWhile  ▪ NestWhileList  ▪ TakeWhile  ▪ LengthWhile  ▪ ...
List-Oriented Functions
Select select from a list according to a function
Array create an array from a function
Sort, Split sort, split according to a function
Functional Composition Operations
Identity  ▪ Composition  ▪ Operate  ▪ Through  ▪ Distribute
TUTORIALS
MORE ABOUT
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team