Vacuum

Meaning

Row displays contain zero, two or more constituent units. A row display that contains no units is known as a vacuum. The vacuum yields an empty multiple when evaluated, with whatever number of dimensions required by the appropriate row mode. Each dimension has a lower bound of one and an upper bound of zero.

The following example shows an identity declaration that ascribes a multiple that contains no elements to the identifier empty:

[]int empty = ();

The empty collateral clause () is in a strong context where a multiple of mode []int is required, and therefore constitutes a row display. The following holds for the created multiple:

assert (lwb empty = 1);
assert (upb empty = 0);
assert (elems empty = 0);

The following example shows a similar identity declaration, but this time the row mode has three dimensions:

[,,]int empty cube = ();

Note how the vacuum is sill a single empty row display, i.e. it is not written ((())). All dimensions of the multiple have the same bounds:

assert (1 lwb empty = 1);
assert (1 upb empty = 0);
assert (1 elems empty = 0);
assert (2 lwb empty = 1);
assert (2 upb empty = 0);
assert (2 elems empty = 0);
assert (3 lwb empty = 1);
assert (3 upb empty = 0);
assert (3 elems empty = 0);

Syntax

[RR 3.3.1.k]:

k) *vacuum : EMPTY PACK.

See Also