Zilde: Difference between revisions
Jump to navigation
Jump to search
no edit summary
Miraheze>Adám Brudzewsky No edit summary |
Miraheze>Marshall No edit summary |
||
Line 1: | Line 1: | ||
{{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 | {{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, as a vector, it has exactly one [[axis]], and this axis has length 0. 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 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]]. | 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]] (an exception is [[SHARP APL]]'s [[nil]] (<source lang=apl inline>∘</source>), which is the same as <source lang=apl inline>⊂⍬</source>). | ||
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>) even though they have the same shape and the same elements: | |||
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>) | |||
<source lang=apl> | <source lang=apl> | ||
∧/⍬='' | |||
1 | |||
⍬≡'' | ⍬≡'' | ||
0 | 0 | ||
</source> | </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. | 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. However, [[match]] takes [[empty]] array [[prototypes]] into account as well as shapes and elements, so it indicates that the arrays are different. | ||
{{APL built-ins}} | {{APL built-ins}} |