Terms
The Language overview introduces these terms informally, as they come up.
Every value is an atom or an array: atoms are numbers, characters and functions, scalars are arrays of rank 0, units are atoms and scalars, and subjects are all values except functions.
| Term | Meaning |
|---|---|
| value | a number, character, function or array |
| atom | a value that isn’t an array: a number, character or function |
| number | an approximate real or complex number, or an exact integer or rational, as Numbers describes |
| character | one Unicode character, written in single quotes: 'a' |
| function | a primitive, dfn, train or derived function, which applies to arguments |
| pervasive function | a function that applies to each atom of its arguments, through any nesting: 1+[2 ⊂3] is [3 ⊂4] |
| array | a rectangular collection of values along zero or more axes |
| rank | the number of axes: a vector has rank 1, and atoms and scalars have rank 0 |
| scalar | an array of rank 0, holding one value: ⊂5 is a scalar holding the number 5, and 5 is a number |
| unit | a rank-0 value: a number, character, function or scalar |
| subject | a value that isn’t a function: a number, character or array |
| cell | a sub-array made of an array’s last k axes, called a k-cell: a matrix’s rows are its 1-cells. A 0-cell is the unit at one position, the atom there or the array there enclosed. When k is at least the array’s rank, the whole array is its one cell |
| frame | the axes before the cells, with one cell at each position |
| assembly | building one array from results, one for each position of a frame: the shape is the frame followed by the results’ shape, each result fills its position with its items, and shorter results are padded with fill |
| literal | a number, character, string, ∞, ⍬, or a constant: $t true, $f false or $n NaN |
| strand | subjects side by side, read as a vector without brackets: 1 2 3 is [1 2 3], and a b is [a b] |
| run | a sequence of tokens with no spaces between them |
| argument | a subject a function applies to |
| operand | a value an operator applies to |
| expression | a run, group or statement that ends in a subject |
| train | a run, group or statement that ends in a function |
| fork | three parts of a train, f g h, giving (f ⍵) g (h ⍵), or A g h with a subject on the left, giving A g (h ⍵) |
| atop | two parts of a train, f g, giving f (g ⍵) |
| bind | a subject directly before a function in a train, fixing its left argument: 2× is 2↣× |