Pair: Difference between revisions

Jump to navigation Jump to search
(→‎History: Link in SHARP and J, Enlist in K, Pair in I)
(→‎History: Nial)
 
Line 27: Line 27:
== History ==
== History ==


[[Link]] precedes Pair significantly, as it was defined in [[SHARP APL]] in 1983,<ref>[https://www.jsoftware.com/papers/satn45.htm "Language Extensions of May 1983"]. SATN-45, 1983-05-02.</ref> and included in the initial version of [[J]] in 1990.
By 1982, [[Nial]] had defined four infix functions to join two arrays, enclosing any combination of them.<ref>Fl. Schmidt and M. A. Jenkins. [https://doi.org/10.1145/800071.802258 Array diagrams and the Nial approach] at [[APL82]].</ref> <code>link</code> encloses neither argument, giving [[Catenate]], while <code>pair</code> encloses both, giving dyadic Pair. <code>hitch</code> encloses only the left to give [[Link]], and <code>append</code> encloses the right.


Pair appeared first in array languages based on the [[list model]], where it also covers the functionality of [[Promote]] and [[Laminate]]. [[K]], released in the 1990s, defines monadic <code>,</code> as enlist, but dyadic <code>,</code> as [[catenate]]. Ambivalent Pair appears in [[I]] as <code>;</code> since 2012; no name is given in the documentation, but the implementation uses "itemize" (the same name as [[J]]'s Promote) and "cross".
In APL, [[Link]] precedes Pair significantly, as it was defined in [[SHARP APL]] in 1983,<ref>[https://www.jsoftware.com/papers/satn45.htm "Language Extensions of May 1983"]. SATN-45, 1983-05-02.</ref> and included in the initial version of [[J]] in 1990.
 
In array languages based on the [[list model]], Pair also covers the functionality of [[Promote]] and [[Laminate]]. [[K]], released in the 1990s, defines monadic <code>,</code> as enlist, but dyadic <code>,</code> as [[catenate]]. Ambivalent Pair appears in [[I]] as <code>;</code> since 2012; no name is given in the documentation, but the implementation uses "itemize" (the same name as [[J]]'s Promote) and "cross".


Pair was defined as <syntaxhighlight lang=apl inline>⍮</syntaxhighlight> in [[Extended Dyalog APL]] in 2018, and then adopted into [[dzaima/APL]]. It was added to [[BQN]] with the glyph <code>⋈</code> in 2021.
Pair was defined as <syntaxhighlight lang=apl inline>⍮</syntaxhighlight> in [[Extended Dyalog APL]] in 2018, and then adopted into [[dzaima/APL]]. It was added to [[BQN]] with the glyph <code>⋈</code> in 2021.

Navigation menu