Dot

From APL Wiki
Revision as of 21:11, 10 September 2022 by Adám Brudzewsky (talk | contribs) (Text replacement - "</source>" to "</syntaxhighlight>")
Jump to navigation Jump to search

The glyph dot or period refers to the . character. It represents several unrelated concepts, some derived from traditional mathematical notation. The dot is one of the most overloaded APL symbols:

  • In all dialects, it is used as decimal separator, for example <source lang=apl inline>3.14</syntaxhighlight> representing .
  • In all dialects, it is a dyadic operator with function operands, deriving a dyadic function (<source lang=apl inline>X f.g Y</syntaxhighlight>) which is the generalised Inner Product. Specifically, <source lang=apl inline>X +.× Y</syntaxhighlight> is the dot product.
  • In all dialects (although deprecated in SAX), dot with a Jot on on its left, forms the Outer Product operator.
  • In SHARP APL and NARS2000, the function derived from two functions operands, can also be called monadically and then represents the Alternant (<source lang=apl inline>+.× Y</syntaxhighlight>) which is a generalisation of determinants and permanents. Specifically, <source lang=apl inline>-.× Y</syntaxhighlight> is the determinant.
  • In SHARP APL, with a function left operand and an array right operand, called ply, is used for the Power Operator (<source lang=apl inline>f⍣k</syntaxhighlight> in several other dialects).
  • In dialects that support object oriented programming, for example APLX and Dyalog APL, the dot is used to access members of objects.
  • In NARS2000, two immediately adjacent dots, <source lang=apl inline>..</syntaxhighlight>, form a bi-glyph, and represents the Sequence function (represented by the ellipsis, <source lang=apl inline>…</syntaxhighlight> in dzaima/APL and Extended Dyalog APL).

Due to its use in numeric constants, letting <source lang=apl inline>.</syntaxhighlight> be a dyadic operator that takes numeric operands or a function that takes numeric arguments, is potentially problematic or at least confusing: <source lang=apl>

     4.6

4.6

     4..6

4 5 6

     4...10 ⍝ this parses as 4 .. 0.10

4 3 2 1

     4. .10

4 0.1

     4 . . 10

SYNTAX ERROR

     4 . . 10
             ∧

</syntaxhighlight>

Works in: NARS2000
APL glyphs [edit]
Information GlyphTyping glyphs (on Linux) ∙ UnicodeFontsMnemonicsOverstrikesMigration level
Individual glyphs Jot () ∙ Right Shoe () ∙ Up Arrow () ∙ Zilde () ∙ High minus (¯) ∙ Dot (.) ∙ Del ()