При функциональном программировании часто используется суперпозиция функций. Для ее реализации используются следующие функции:
Примеры, иллюстрирующие действие этих функций, представлены ниже:
Nest[f, x, 5]
f[f[f[f[f[x]]]]]
Nest[Exp[x], x, 5]
Ех[Ех[Ех[Ех[Ех[х]]]]]
NestList[f, x, 3]
{x, f[x], f[f[x]], f[f[f[x]]]}
Fold[f, x, (-1, 2, 3}]
f[f[f[x, 1], 2], 3]
FoldList[f, x, {1, 2, 3}]
{x, f[x, 1], f[f[x, 1], 2], f[f[f{x, 1], 2], 3]}
ComposeList[{Exp, Ln, Sin), x]
{x, Ex, Ln[Ex] , SinlLn[Ex]] ]}