Difference between revisions of "Nested array"
Miraheze>Adám Brudzewsky m (Text replacement  "{{APL programming language}}" to "{{APL features}}") 
m (5 revisions imported: Migrate from miraheze) 
(No difference)

Revision as of 14:48, 20 November 2019
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 boxed array in flat array theory; more precisely, nonmixed 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.
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 (⊆
), which encloses a nonsimple 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.
APL features [edit]  

Builtins  Primitive function ∙ Primitive operator ∙ Quad name 
Array model  Shape ∙ Rank ∙ Depth ∙ Bound ∙ Index (Indexing) ∙ Axis ∙ Ravel ∙ Ravel order ∙ Element ∙ Scalar ∙ Vector ∙ Matrix ∙ Simple scalar ∙ Simple array ∙ Nested array ∙ Cell ∙ Major cell ∙ Subarray ∙ Empty array ∙ Prototype 
Data types  Number (Boolean, Complex number) ∙ Character (String) ∙ Box ∙ Namespace 
Concepts and paradigms  Leading axis theory ∙ Scalar extension ∙ Conformability ∙ Scalar function ∙ Pervasion ∙ Glyph ∙ Identity element ∙ Complex floor ∙ Total array ordering 
Errors  LIMIT ERROR ∙ RANK ERROR ∙ SYNTAX ERROR ∙ DOMAIN ERROR ∙ LENGTH ERROR ∙ INDEX ERROR ∙ VALUE ERROR 