Definitions

# Array Theory

From Nial Papers: Array Theory is primarily a theory about the definition and manipulation of array data objects. Every data object in the theory is an array, even numbers and characters, which are given structure as array scalars. The data objects are viewed as collections of data objects arranged along axes with an addressing scheme to indicate where each item of the collection is located. The items of the collection are themselves arrays.

It is a one-sorted theory of nested rectangular arrays that combines the Zermelo-Fraenkel concept of nested sets with the vectors, matrices, and multi-axis arrays of Iverson and Falkoff’s programming language APL. As every element of a set is again a set in set theory, every item of an array is again an array in array theory. The consequent unbounded depth of nesting ultimately terminates in arrays that have no axes and hold themselves as sole items. Such self-containing “atoms” include numbers, truth-values, characters, and indivisible strings of characters called phrases and faults. For example, the number 2 is a 0-axis array in which the sole item is the number 2.

Array programming languages are designed to make arithmetic possible for structures other than just numbers - for example, lists and tables. Standard general purpose languages would probably need separate libraries to provide the functionality to perform operations on such structures, but in array programming languages the functionality is built into the language. In data driven and mathematical applications, this can make programs simpler and easier to write.

Examples of languages using Array Theory include APL (programming language), J (programming language), K (programming language), Nial (programming language) and FISh (programming language)

Some other programming languages like Fortran (programming language) also support some of the array and matrix operations and are categorized under array programming languages.