Zilde

, or Zero-tilde (which the common name is a portmanteau of), is the empty numeric vector. It shares its name with the glyph used to represent it, a zero overstruck with a tilde. It is the shape of any scalar, although its own shape is. This is because, as a vector, it has exactly one axis, and this axis has length 0. Zilde is equivalent to  and   and. Being numeric, Zilde's prototype is 0.

The glyph Zilde is notable in that it represents an array rather than a primitive function or primitive operator. This usage was introduced in NARS and included in Dyalog APL and many other dialects influenced by these. In most of these APLs it is the only array literal which is produced using its own token rather than being part of a family of array literals like numeric literals, strings, or system constants. A similar special literal is SHARP APL's nil, which corresponds to , and Dyalog APL's namespace reference to the root of the workspace.

It should be noted that the empty numeric vector is distinct from the empty character vector  even though they have the same shape and the same elements: This is because  itself returns an empty numeric vector, and reducing an empty vector with the Logical And function  yields the identity element of Logical And, which is 1. However, match takes empty array prototypes into account as well as shapes and elements, so it indicates that the arrays are different.

Zilde can be used to concisely produce other empty arrays, for example:


 * gives a 0-row 0-column numeric matrix, identical to.
 * gives a 0-row 1-column numeric matrix, identical to.
 * gives a 1-row 0-column numeric matrix, identical to.
 * gives an empty vector of 1-element numeric vectors, identical to.
 * gives an empty vector of 1-by-1 numeric matrices, identical to.