Function array: Difference between revisions

Jump to navigation Jump to search
18 bytes added ,  21:14, 10 September 2022
m
Text replacement - "</source>" to "</syntaxhighlight>"
m (Text replacement - "<source" to "<syntaxhighlight")
Tags: Mobile edit Mobile web edit
m (Text replacement - "</source>" to "</syntaxhighlight>")
Line 1: Line 1:
A '''function array''', or '''fnarray''', is a value that is conceptually an [[array]] of [[function]]s. It can be applied to [[argument]]s, which applies each function independently and gives an array of results. Several languages that don't ordinarily support placing a function in an array have function arrays as a special construct: [[Dyalog APL]], [[dzaima/APL]], and [[Nial]], which uses the name "atlas".
A '''function array''', or '''fnarray''', is a value that is conceptually an [[array]] of [[function]]s. It can be applied to [[argument]]s, which applies each function independently and gives an array of results. Several languages that don't ordinarily support placing a function in an array have function arrays as a special construct: [[Dyalog APL]], [[dzaima/APL]], and [[Nial]], which uses the name "atlas".


In dzaima/APL and Nial function arrays are constructed by the vector form of [[array notation]], allowing only rank-1 function arrays. In Dyalog APL they can be produced by taking a member of an array of [[namespace]]s that all contain that member, each with its own function value. <syntaxhighlight lang=apl inline>fnarray</source> in the [[dfns workspace]] wraps this functionality in an operator.<ref>[[Dfns workspace]]. [https://dfns.dyalog.com/n_fnarray.htm <syntaxhighlight lang=apl inline>fnarray</source>] ― Array of functions.</ref>
In dzaima/APL and Nial function arrays are constructed by the vector form of [[array notation]], allowing only rank-1 function arrays. In Dyalog APL they can be produced by taking a member of an array of [[namespace]]s that all contain that member, each with its own function value. <syntaxhighlight lang=apl inline>fnarray</syntaxhighlight> in the [[dfns workspace]] wraps this functionality in an operator.<ref>[[Dfns workspace]]. [https://dfns.dyalog.com/n_fnarray.htm <syntaxhighlight lang=apl inline>fnarray</syntaxhighlight>] ― Array of functions.</ref>


The [[wikipedia:FP (programming language)|FP]] language features a "function composition" construction that applies like a function array. In the [[I]] language, which has first-class functions, lists may be applied to arguments, and apply each element independently, so that a list of functions also behaves like a function array.
The [[wikipedia:FP (programming language)|FP]] language features a "function composition" construction that applies like a function array. In the [[I]] language, which has first-class functions, lists may be applied to arguments, and apply each element independently, so that a list of functions also behaves like a function array.

Navigation menu