関数型プログラミングは長い間重要な理論概念だと見なされてきたが,ついに
Mathematica 記号言語への導入によって非常に便利で実践的なものとなった.
f[x]というような式を記号データと関数
fの適用の両方として扱うことで,構造と関数を統合する非常に強力な方法と,多くの一般的な計算の効率的でエレガントな表現方法を提供する.
Function (
&) — 純関数を指定する(例:
(#+1)&)
Map (
/@) — リストにマップする:
f/@{x, y, z}
{f[x], f[y], f[z]}
Apply (
@@,
@@@) — リストに適用する:
f@@{x, y, z}
f[x, y, z]
MapIndexed — 指標情報とともにマップする:
{f[x, {1}], f[y, {2}], f[z, {3}]}
Nest,
NestList — 関数をネストする:
f[f[f[x]]]等
Fold,
FoldList — 値のリストを折り込む:
f[f[f[x, 1], 2], 3]等
Sort,
Split — 関数に従ってソート,分割する