Jot: Difference between revisions

Jump to navigation Jump to search
81 bytes added ,  22:15, 10 September 2022
m
Text replacement - "</source>" to "</syntaxhighlight>"
m (Text replacement - "<source" to "<syntaxhighlight")
m (Text replacement - "</source>" to "</syntaxhighlight>")
 
Line 1: Line 1:
{{Glyphbox|∘}}
{{Glyphbox|∘}}
The [[glyph]] '''jot''' is a small circle represented by the [[Unicode]] character <code>∘</code>, "ring operator" (<code>◦</code>, "white bullet", may also be used in some dialects). Derived from the [[Iverson notation]] convention of using a circle for the top (reducing) function of an [[Inner Product]] to turn it into an [[Outer Product]], the jot now has several uses in various dialects:
The [[glyph]] '''jot''' is a small circle represented by the [[Unicode]] character <code>∘</code>, "ring operator" (<code>◦</code>, "white bullet", may also be used in some dialects). Derived from the [[Iverson notation]] convention of using a circle for the top (reducing) function of an [[Inner Product]] to turn it into an [[Outer Product]], the jot now has several uses in various dialects:
* In [[APL\360]] and all other APLs, it is a "special" left operand to [[Inner Product]] (<syntaxhighlight lang=apl inline>.</source>), so that (<syntaxhighlight lang=apl inline>∘.f</source>) is an [[Outer Product]] by <syntaxhighlight lang=apl inline>f</source>.
* In [[APL\360]] and all other APLs, it is a "special" left operand to [[Inner Product]] (<syntaxhighlight lang=apl inline>.</syntaxhighlight>), so that (<syntaxhighlight lang=apl inline>∘.f</syntaxhighlight>) is an [[Outer Product]] by <syntaxhighlight lang=apl inline>f</syntaxhighlight>.
* In [[SHARP APL]], <syntaxhighlight lang=apl inline>∘</source>, named [[nil]], is the [[enclose]]d [[empty]] [[numeric]] [[vector]], which may also be written <syntaxhighlight lang=apl inline><⍳0</source>.
* In [[SHARP APL]], <syntaxhighlight lang=apl inline>∘</syntaxhighlight>, named [[nil]], is the [[enclose]]d [[empty]] [[numeric]] [[vector]], which may also be written <syntaxhighlight lang=apl inline><⍳0</syntaxhighlight>.
* In [[NARS]], [[Dyalog APL]], and other [[Nested array model|nested]] APLs derived from these, <syntaxhighlight lang=apl inline>∘</source> is the [[Compose]] [[operator]].
* In [[NARS]], [[Dyalog APL]], and other [[Nested array model|nested]] APLs derived from these, <syntaxhighlight lang=apl inline>∘</syntaxhighlight> is the [[Compose]] [[operator]].
* In [[NARS]] and [[NARS2000]], for an array <syntaxhighlight lang=apl inline>a</source>, <syntaxhighlight lang=apl inline>a∘/</source> is [[Mask]] and <syntaxhighlight lang=apl inline>a∘\</source> is [[Mesh]].
* In [[NARS]] and [[NARS2000]], for an array <syntaxhighlight lang=apl inline>a</syntaxhighlight>, <syntaxhighlight lang=apl inline>a∘/</syntaxhighlight> is [[Mask]] and <syntaxhighlight lang=apl inline>a∘\</syntaxhighlight> is [[Mesh]].
Thus jot may be considered either a special element of syntax as in [[APL\360]], an [[array]] as in [[SHARP APL]], or an [[operator]]. In the last case it would not normally be allowed as an [[operand]] to the [[Inner Product]] operator, and a special rule is needed to allow the [[Outer Product]] syntax. As a final option, [[APL2]] allows a jot only in the context of an Outer Product like APL\360, but documents that jot "is treated syntactically as a [[function]]."<ref>[[IBM]]. [https://www.ibm.com/downloads/cas/ZOKMYKOY "APL2 Programming: Language Reference"]. 1994. p.24.</ref>
Thus jot may be considered either a special element of syntax as in [[APL\360]], an [[array]] as in [[SHARP APL]], or an [[operator]]. In the last case it would not normally be allowed as an [[operand]] to the [[Inner Product]] operator, and a special rule is needed to allow the [[Outer Product]] syntax. As a final option, [[APL2]] allows a jot only in the context of an Outer Product like APL\360, but documents that jot "is treated syntactically as a [[function]]."<ref>[[IBM]]. [https://www.ibm.com/downloads/cas/ZOKMYKOY "APL2 Programming: Language Reference"]. 1994. p.24.</ref>


Navigation menu