Terminology

From APL Wiki
Revision as of 12:54, 7 July 2021 by Adám Brudzewsky (talk | contribs) (Removed redirect to German terminology)
Jump to navigation Jump to search

APL terminology can be confusing, especially as it often differs from common conventions in wikipedia: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 examplesMnemonicsISO 8485:1989ISO/IEC 13751:2001A Dictionary of APLCase studiesDocumentation suitesBooksPapersVideosAPL Quote QuadVector journalTerminology (Chinese, German) ∙ Neural networksError trapping with Dyalog APL (in forms)
Sharing code Backwards compatibilityAPLcartAPLTreeAPL-CationDfns workspaceTatinCider
Implementation ResourcesOpen-sourceMagic functionPerformanceAPL hardware
Developers Timeline of corporationsAPL2000DyalogIBMIPSASTSC