-
Functions
- Append
- Apply
- Array
- AssociationMap
- BlockMap
- Cases
- Comap
- ComapApply
- Composition
- CountsBy
- CurryApplied
- FixedPoint
- FixedPointList
- Fold
- FoldList
- FoldPair
- FoldWhile
- Function
- GatherBy
- GroupBy
- Identity
- KeySortBy
- LengthWhile
- Map
- MapAll
- MapApply
- MapAt
- MapIndexed
- MapThread
- MaximalBy
- Nest
- NestGraph
- NestList
- NestWhile
- NestWhileList
- Operate
- OperatorApplied
- Position
- ReverseApplied
- Scan
- Select
- SequenceFold
- SequenceFoldList
- SortBy
- SplitBy
- SubsetMap
- TakeWhile
- Through
- Related Guides
- Tech Notes
-
-
Functions
- Append
- Apply
- Array
- AssociationMap
- BlockMap
- Cases
- Comap
- ComapApply
- Composition
- CountsBy
- CurryApplied
- FixedPoint
- FixedPointList
- Fold
- FoldList
- FoldPair
- FoldWhile
- Function
- GatherBy
- GroupBy
- Identity
- KeySortBy
- LengthWhile
- Map
- MapAll
- MapApply
- MapAt
- MapIndexed
- MapThread
- MaximalBy
- Nest
- NestGraph
- NestList
- NestWhile
- NestWhileList
- Operate
- OperatorApplied
- Position
- ReverseApplied
- Scan
- Select
- SequenceFold
- SequenceFoldList
- SortBy
- SplitBy
- SubsetMap
- TakeWhile
- Through
- Related Guides
- Tech Notes
-
Functions
Functional Programming
Functional programming is a highly developed and deeply integrated core feature of the Wolfram Language, made dramatically richer and more convenient through the symbolic nature of the 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)&)
#, ##, #name — slots for variables in a pure function
Applying Functions to Lists »
Map (/@) — map across a list: f/@{x,y,z}⟶{f[x],f[y],f[z]}
Apply (@@) — apply to a list: f@@{x,y,z}⟶f[x,y,z]
MapApply (@@@) — apply to a list: f@@@{x,y,z}⟶{f@@x,f@@y,f@@z}
MapIndexed — map with index information: {f[x,{1}],f[y,{2}],f[z,{3}]}
MapThread ▪ MapAt ▪ MapAll ▪ Scan ▪ BlockMap ▪ SubsetMap ▪ ...
Applying Lists of Functions to Arguments
Comap — comap into a list: Comap[{f,g,h},x]⟶{f[x],g[x],h[x]}
ComapApply — use multivariate heads: ComapApply[{f,g,…},x]⟶{f@@x,g@@x,…}
Iteratively Applying Functions »
Nest, NestList, NestGraph — nest a function: f[f[f[x]]] etc.
Fold, FoldList — fold in a list of values: f[f[f[x,1],2],3] etc.
SequenceFold ▪ SequenceFoldList ▪ FoldPair ▪ FoldWhile ▪ ...
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
SortBy ▪ MaximalBy ▪ SplitBy ▪ GatherBy ▪ ...
Association-Oriented Functions »
AssociationMap — create an association from a function
KeySortBy ▪ CountsBy ▪ GroupBy ▪ ...
Functional Composition »
Identity ▪ Composition ▪ ReverseApplied ▪ Operate ▪ Through ▪ ...
"Curried" Operator Forms »
OperatorApplied — make a function be applied in operator form
CurryApplied ▪ Select ▪ Cases ▪ Append ▪ Map ▪ Position ▪ ...