Nested array: Difference between revisions

Jump to navigation Jump to search
529 bytes added ,  22:01, 10 September 2022
m
Text replacement - "</source>" to "</syntaxhighlight>"
Miraheze>Marshall
(Created page with "In nested array theory, a nested array is an array of depth greater than one, that is, an array that contains at least one element which is not a simple scalar. It...")
 
m (Text replacement - "</source>" to "</syntaxhighlight>")
 
(10 intermediate revisions by 5 users not shown)
Line 1: Line 1:
In [[nested array theory]], a nested array is an array of [[depth]] greater than one, that is, an array that contains at least one element which is not a [[simple scalar]]. It is roughly equivalent to a [[Box|boxed]] array in [[flat array theory]]; more precisely, non-[[mixed]] nested arrays correspond exactly to boxed arrays. Depending on language, an [[empty]] array may never be considered nested, or it may be considered nested if its [[prototype]] is nested.
In [[nested array theory]], a '''nested array''' is an array of [[depth]] greater than one, that is, an array that contains at least one element which is not a [[simple scalar]]. It is roughly equivalent to a [[Box|boxed]] array in [[flat array theory]]; more precisely, non-[[mixed]] nested arrays correspond exactly to boxed arrays. Depending on language, an [[empty]] array may never be considered nested, or it may be considered nested if its [[prototype]] is nested.


[[Scalar functions]] descend into nested arrays one element at a time. Arrays can be nested at an arbitrary depth so this descent constitutes a traversal. Nested arrays form a [[tree]] structure with some additional information (the [[shape]]) at each node.
[[Scalar functions]] descend into nested arrays one element at a time. Arrays can be nested at an arbitrary depth so this descent constitutes a traversal. Nested arrays form a [[tree]] structure with some additional information (the [[shape]]) at each node.


A nested array is a kind of [[pointer array]] and is almost always stored using pointers.
A nested array is a kind of [[pointer array]] and is almost always stored using pointers.
The result of [[Enclose]] on an array other than a [[simple scalar]] is always a nested array. The [[Dyalog APL]] primitive [[Nest]] (<syntaxhighlight lang=apl inline>⊆</syntaxhighlight>), which encloses a [[simple]] argument, is named for this property: it applies the smallest transformation to turn the argument (unless it is a simple scalar) into a nested array.
== See also ==
* [[NARS]], the first commercial nested APL implementation.
{{APL features}}[[Category:Kinds of array]][[Category:Nested array model]]

Navigation menu