Skip to main content

Questions about Mathematica's functional programming style, including the use of pure functions (Function[], #, &) and functions such as Map, Apply, Nest, and Through.

Mathematica's functional programming features allow users to treat functions as expressions in the same way that data are expressions. This functionality is usually more efficient than the use of Do and For loops that are more familiar to users of procedural programming languages like C or Fortran. By using dedicated built-in Mathematica functions and pure functions, one can write code where the output of a function is set to be the direct input of a next function, without ever introducing temporary variables at all.

An important part of this functionality is the use of pure functions, known in some other languages as "anonymous functions". These are usually distinguishable through their use of Function (&) and the (optional) accompanying use of Slot (#) and/or SlotSequence (##), in place of arguments.

Questions on how to use and construct functions should use the tag .

Useful links: