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 FOLDOC1.

Term

Description

adverb

monadic operator, taking its single operand on the left.

ambivalent

(of a dyadic function) permitting its left argument to be elided; nomadic2; 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 assignment3 or association4 or in an editor5.

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.
(of a function) applying to matrices.

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; nullary8.

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.
(of a function) ranks of arguments to which it applies.

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.
(of a function) applying equally to or between all scalars in its argument(s).

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.
(of an array) composed entirely of primitive scalars.

strand

lexical juxtaposition of array valued names or expressions to form a larger, possibly nested, array9.

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.
(of a function) applying to vectors.

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


CategoryAboutApl

  1. FOLDOC: see The Free On-Line Dictionary Of Computing, Editor Denis Howe (1)

  2. nomadic: see APLX concepts (2)

  3. define by lexical assignment: assigned←{expression in terms of ⍺ and/or ⍵}  (3)

  4. define by lexical association: ⎕FX 'r←a associated w' 'r←expression in terms of a and/or w' (4)

  5. define in an editor: ∇edited or )EDIT edited (5)

  6. derive: derived←∘.,/∘(⍳¨) (6)

  7. frame: see J: Frame and Cell (7)

  8. nullary: see Wikipedia: Nullary (8)

  9. strand: stranded←0(1 2)('three' 'four')'five' (9)

  10. train: mean←+⌿ ÷ ≢ see Dyalog: Function Trains (10)

GlossaryOfAplTerms (last edited 2015-02-24 10:48:36 by PhilLast)