Zilde: Difference between revisions

Jump to navigation Jump to search
1,181 bytes added ,  19:52, 30 October 2019
no edit summary
Miraheze>Marshall
(Created page with "'''Zilde''' is the empty numeric vector. It is the shape of any scalar, although its own shape is <source lang=apl inline>,0</source> (Zilde's shape cannot...")
 
Miraheze>Adám Brudzewsky
No edit summary
Line 1: Line 1:
'''Zilde''' is the [[empty]] [[numeric]] [[vector]]. It is the [[shape]] of any [[scalar]], although its own shape is <source lang=apl inline>,0</source> (Zilde's shape cannot be Zilde, as that would mean it were a scalar). Zilde is equivalent to <source lang=apl inline>⍴0</source> or <source lang=apl inline>0⍴0</source>.
{{Primitive|⍬|Zilde}} is the [[empty]] numeric [[vector]]. It is the [[shape]] of any [[scalar]], although its own shape is <source lang=apl inline>,0</source>. 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 <source lang=apl inline>⍳0</source> and <source lang=apl inline>⍴0</source> and <source lang=apl inline>0⍴0</source>. Being [[numeric]], Zilde's [[prototype]] is 0.


Zilde is notable for being the only 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]].
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 <source lang=apl inline>#</source> which is the current [[workspace]]'s root [[namespace]]
* [[SHARP APL]]'s <source lang=apl inline>∘</source> which is ''nil'', or <source lang=apl inline>⊂⍬</source>
* [[NARS2000]] and [[ngn/apl]]'s <source lang=apl inline>∞</source> denoting infinity
 
It should be noted that the empty numeric vector (<source lang=apl inline>⍬</source>) is distinct from the empty character vector (<source lang=apl inline>''</source>) while comparing "all" their elements would seem to indicate that they are identical:
<source lang=apl>
      ⍬≡''
0
      ∧/⍬=''
1
</source>
This is because <source lang=apl inline>⍬=''</source> itself returns an empty numeric vector, and reducing an empty vector with the [[Logical And]] function (<source lang=apl inline>∧</source>) yields the [[identity element]] of Logical And, which is 1.


{{APL built-ins}}
{{APL built-ins}}

Navigation menu