This is documentation for Mathematica 9, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)

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 as both symbolic data and the application of a function 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. )

#, ## slots for variables in a pure function

Applying Functions to Lists »

Map (/@) — map across a list:

Apply (@@, @@@) — apply to a list:

MapIndexed map with index information:

MapThread ▪ MapAt ▪ MapAll ▪ Scan ▪ ...

Iteratively Applying Functions »

Nest, NestList nest a function: etc.

Fold, FoldList fold in a list of values: 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