3.5. Supported Higher-Order Functions

In Phlex, HOFs transform one family to another:

\[\ifamily{b}{\text{output}} = \text{HOF}(f_1,\ f_2,\ \dots)\ \ifamily{a}{\text{input}}\]

where the functions \(f_1, f_2, \ \dots\) are operators required by the HOF. Note that the output index set \(\iset{\text{output}}\) is not necessarily the same as the input index set \(\iset{\text{input}}\).

In what follows, a family \([a_i]_{i \in \iset{a}}\) will often be represented by a single variable \(a\). Whether a variable name (e.g. \(a\)) represents a family or an operation to a higher-order function will be apparent based on context.

Each HOF below also supports the \(\textit{label}:\one \rightarrow L\) operator, where the output data layer is user-specifiable. The \(\textit{label}\) operator is explicitly mentioned only for those HOFs that require it–i.e. \(\text{unfold}\) and \(\text{window}\) [1].

Footnotes