Nested array: Difference between revisions

Jump to navigation Jump to search
511 bytes added ,  18:39, 5 November 2020
no edit summary
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...")
 
No edit summary
(8 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]] (<source lang=apl inline>⊆</source>), 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