Glossary of APL terms
APL literature includes many terms whose meanings, though rigorous, differ slightly from elsewhere. Terms used but not defined here follow normal usage or are defined at FOLDOC^{1}.
Term |
Description |
adverb |
monadic operator, taking its single operand on the left. |
ambivalent |
(of a dyadic function) permitting its left argument to be elided; nomadic^{2}; either monadic or dyadic. |
argument |
value or reference passed to a function or operator. |
array |
data valued object of zero or more orthogonal dimensions in row-major order in which each item is a primitive scalar or another (enclosed) array; variable; noun. |
cell |
(of an array) sub-array whose dimensions are a suffix of those of the whole. The 2-cells of a 3D array are the planes whose dimensions are the numbers of rows and columns of the 3D array. |
conjunction |
dyadic operator, taking its two operands on the left and right. |
define |
create an operation by lexical assignment^{3} or association^{4} or in an editor^{5}. |
depth |
(of an array) the number of levels of nesting. |
derive |
create a function by juxtaposition as a combination of existing arrays or functions with an operator or as a train.^{6}. |
dyadic |
accepting or requiring two arguments or operands: left and right; having valence of two; binary. |
element |
(of an array) sub-array being a simple scalar at whatever depth. The elements of a simple array are also its items. |
empty |
(of an array) having one or more dimensions of length zero; null. |
enclose |
(of an array) convert into a scalar preserving all the original structure within. An enclosed array can occupy a single position in another array. |
frame |
(of an array) prefix of the dimensions of the array being the shape of the collection of cells of a given rank. The frame of the 2-cells of a 3D array is its first dimension; the numbers of planes.^{7} |
function |
primitive, defined, derived or system operation or mapping that takes zero, one (right) or two (left & right) array valued arguments and may return an array valued result; verb. |
item |
(of an array) sub-array, which may be enclosed, occupying a single position in the outer structure of the array. The items of a simple array are also its elements. |
matrix |
(of an array) having two dimensions. |
monadic |
accepting or requiring one argument or operand; on the right for a function; on the left for an operator; having valence of one; unary |
nested |
(of an array) having one or more enclosed items or a prototype which is not a primitive scalar. |
niladic |
accepting no arguments; having valence of zero; nullary^{8}. |
operand |
argument to an operator. |
operator |
primitive or defined operation or mapping that takes one (left) or two (left & right) function or array valued arguments (operands) and derives a function. |
pervasive |
(of a function) applying equally to scalars at any depth. |
prototype |
(of an array) the type of its first item. |
rank |
(of an array) number of dimensions. |
reduction |
application of a function between the items or cells of its right argument thus reducing the rank by removal of the dimension along which the items or cells are counted or the last dimension of the frame. |
scalar |
(of an array) having zero dimensions. |
scalar extension |
replication of a scalar argument to the shape of the other. Performed implicitly by dyadic scalar functions and by the application of the primitive "each" operator to any dyadic function. |
shape |
(of an array) length of each dimension. |
simple |
(of a scalar) a single primitive datum. |
strand |
lexical juxtaposition of array valued names or expressions to form a larger, possibly nested, array^{9}. |
train |
lexical juxtaposition of functions to form a new function of one of two kinds depending on the parity of the number of functions.^{10} |
type |
(of an array) array of identical structure in which all numbers are zero and all characters are blanks. |
valence |
degree or number of arguments or operands of an operation. |
vector |
(of an array) having one dimension. |
workspace |
area of computer memory containing arrays and defined &/or derived operations or a file containing a preserved binary image of such. |
-- PhilLast 2009-10-05 14:55:22
FOLDOC: see The Free On-Line Dictionary Of Computing, Editor Denis Howe (1)
nomadic: see APLX concepts (2)
define by lexical assignment: assigned←{expression in terms of ⍺ and/or ⍵} (3)
define by lexical association: ⎕FX 'r←a associated w' 'r←expression in terms of a and/or w' (4)
define in an editor: ∇edited or )EDIT edited (5)
derive: derived←∘.,/∘(⍳¨) (6)
frame: see J: Frame and Cell (7)
nullary: see Wikipedia: Nullary (8)
strand: stranded←0(1 2)('three' 'four')'five' (9)
train: mean←+⌿ ÷ ≢ see Dyalog: Function Trains (10)