Terminology
APL terminology can be confusing, especially as it often differs from common conventions in computer science, including distinguishing between terms that are usually considered synonyms.
Basic terms
Term | Explanation | Other names used in Computer Science |
---|---|---|
Argument | an array that a function is applied to | Operand, Parameter |
Array | a collection of elements arranged along zero or more axes (note that a scalar is also an array) | Tensor, Multi-dimensional array data structure, Multi-dimensional array data type but note that Scalar Variables are not generally regarded as arrays |
Cell | a subarray which is formed by selecting a single index along zero or more leading axes and the whole of each trailing axis | Array slice |
Function | a program that is applied to one or two array arguments to produce an array result | Subroutine, Program |
Major cell | a cell of an array which has rank one smaller than the rank of the array, or equal to it if the array is a scalar | Element |
Matrix | an array of rank 2 | 2D array, Table |
Nested array | an array that contains at least one element which is not a simple scalar | Data structure |
Operand | an array or function that is passed to an operator | Argument, Parameter |
Operator | a higher-order function that derives a function based on one or two operands | Higher-order function |
Primitive | a built-in function or operator represented by a glyph | Language primitive, Operator |
Rank | the number of dimensions or axes in the structure of an array (the rank is the length of the shape) | Degree, Dimensionality, Order |
Scalar | an array of rank 0 | Value |
Shape | a vector of the lengths of an array along each of its axes (the shape of a scalar is an empty vector) | Array dimensions |
Simple scalar | a number, character, or (in dialects that support such) Namespace | Primitive data type, Value |
Vector | an array of rank 1 | Array, List |
See also
APL development [edit] | |
---|---|
Interface | Session ∙ Typing glyphs (on Linux) ∙ Fonts ∙ Text editors |
Publications | Introductions ∙ Learning resources ∙ Simple examples ∙ Advanced examples ∙ Mnemonics ∙ ISO 8485:1989 ∙ ISO/IEC 13751:2001 ∙ A Dictionary of APL ∙ Case studies ∙ Documentation suites ∙ Books ∙ Papers ∙ Videos ∙ APL Quote Quad ∙ Vector journal ∙ Terminology (Chinese, German) ∙ Neural networks ∙ Error trapping with Dyalog APL (in forms) |
Sharing code | Backwards compatibility ∙ APLcart ∙ APLTree ∙ APL-Cation ∙ Dfns workspace ∙ Tatin ∙ Cider |
Implementation | Resources ∙ Open-source ∙ Magic function ∙ Performance ∙ APL hardware |
Developers | Timeline of corporations ∙ APL2000 ∙ Dyalog ∙ IBM ∙ IPSA ∙ STSC |