From APL Wiki
Jump to navigation Jump to search

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 Common names in Computer Science
Argument an array that a function is applied to Argument, 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 some number of 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 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 creates derived functions based on one or two operands Higher-order function
Primitive a built-in function or operator which is a core part and is represented by a glyph Language primitive, Operator
Rank the number of dimensions or axes in the structure of an array Order, Degree
Scalar an array of rank 0 Value
Shape a vector of lengths of an array along each of its axes 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
APL development [edit]
Interface SessionTyping glyphs (on Linux) ∙ FontsText editors
Publications IntroductionsLearning resourcesSimple examplesAdvanced examplesMnemonicsStandardsA Dictionary of APLCase studiesDocumentation suitesBooksPapersVideosPeriodicalsTerminology (Chinese, German) ∙ Neural networksError trapping with Dyalog APL (in forms)
Sharing code Backwards compatibilityAPLcartAPLTreeAPL-CationDfns workspaceTatinCider
Implementation Developers (APL2000, Dyalog, GNU APL community, IBM, IPSA, STSC) ∙ ResourcesOpen-sourceMagic functionPerformanceAPL hardware