Zilde
Template:Primitive is the empty numeric vector. It is the shape of any scalar, although its own shape is ,0
. This is because it has rank 1 (i.e. it is a vector), so it has exactly one axis (i.e. its shape is a 1-element vector) with the length 0. (Zilde's shape cannot be Zilde, as that would indicate that it had rank 0, i.e. it were a scalar.) Zilde is equivalent to ⍳0
and ⍴0
and 0⍴0
. Being numeric, Zilde's prototype is 0.
Zilde is notable for being an APL glyph which represents an array rather than a primitive function or primitive operator. In most 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. Exceptions are:
- Dyalog APL's
#
which is the current workspace's root namespace - SHARP APL's
∘
which is nil, or⊂⍬
- NARS2000 and ngn/apl's
∞
denoting infinity
It should be noted that the empty numeric vector (⍬
) is distinct from the empty character vector (''
) while comparing "all" their elements would seem to indicate that they are identical:
⍬≡'' 0 ∧/⍬='' 1
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.