Glossary of APL terms

APL literature includes many terms whose meanings, though rigorous, differ slightly from elsewhere. Terms used here but not defined follow normal usage or are defined at FOLDOC1.

Term

Description

ambivalent

(or nomadic2)(of a dyadic function) permitting its left argument to be elided.

array

data valued object of zero or more orthogonal dimensions in row-major order in which each item is a primitive scalar or another array.

define

create by lexical assignment3 or association4 or in an editor5.

depth

(of an array) the number of levels of nesting.

derive

create by juxtaposition as a combination of one or two existing arrays or functions with an operator6.

dyadic

accepting or requiring two arguments or operands: left and right; having valence of two.

empty

(of an array) having one or more dimensions of length zero.

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.

matrix

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

nested

(of an array) having one or more items or a prototype which is not a primitive scalar.

niladic

accepting no arguments; having valence of zero.

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 of its right argument thus reducing the rank by one.

scalar

(of a function) applying to scalars.
(- extension) replication of a scalar argument to the shape of the other.

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, array7.

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 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 Free On-Line Dictionary Of Computing (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. strand: stranded←0(1 2)('three' 'four')'five' (7)