# Appendix 2: Collected Terminology

In this book, the words "data", "function", "argument" and "expression" are used with the meanings usual in programming.

Certain other words are used in this book with meanings given below, in a sequence such that the explanation of each word depends only on words previously explained.

VALUE | Anything which can be produced by evaluating an expression is said to be a value. Every value is a data value or a function.
NOUN | a data value
VERB | a function which computes nouns from nouns.
MONAD | a verb which takes a single argument.
DYAD | a verb which takes two arguments. Every verb is a monad or a dyad.
AMBIVALENT | An expression is said to be ambivalent when it denotes either a monad or a dyad (depending on whether one or two arguments are supplied).
OPERATOR | a function which takes, as its argument(s), nouns or verbs, and produces as its result, a noun or verb or operator. Every J function is a verb or an operator.
ADVERB | an operator which takes a single argument.
CONJUNCTION | an operator which takes two arguments. Every operator is an adverb or a conjunction.
BIDENT | a sequence of two expressions for which the J grammar provides an interpretation as a single function.
TRIDENT | a sequence of three expressions for which the J grammar provides an interpretation as a single function.
TRAIN | a sequence of two or more expressions for which the J grammar provides an interpretation as a single function.
HOOK | a verb defined as a sequence of two verbs, that is, a bident.
FORK | a verb defined as a sequence of three verbs, that is, a trident.
EXPLICIT | a function is said to be explicitly defined, or just explicit, when defined by an expression containing argument variables for which values are to be substituted.
TACIT | a function is said to be tacitly defined, or just tacit, when defined without using argument variables. Every J function is either built-in or explicit or tacit.
ARRAY | a noun, that is, a data value, consisting of a number of simpler values arranged on rectangular coordinates, or axes. Every noun is an array, with zero or more axes.
DIMENSION | (of an array) the length of an axis
SHAPE | (of an array) the list of its dimensions
SCALAR | a noun with no dimensions. The shape of a scalar is an empty list.
RANK | (of a noun) the number of its dimensions, that is, the length of its shape.
BOX | A scalar of a special type, such that its value can represent any array.
CELL | The list of dimensions of any array can be arbitrarily partitioned into leading dimensions followed by trailing dimensions. The original array is thus described as an array of cells, where each cell has only the trailing dimensions. The leading dimensions are called a frame for those cells.
FRAME | See Cell.
RANK | (of a verb) The natural, or intrinsic, rank for its argument(s). With an argument of any rank higher than its intrinsic rank, the verb is applied separately to each intrinsic-rank cell of the argument. A monad has one rank, a dyad has two (one each for left and right arguments) and hence an ambivalent verb has three.

Table of Contents
Index

Copyright © Roger Stokes 2003. This material may be freely reproduced, provided that this copyright notice is also reproduced.

last updated 1 July 2003