4,577
edits
(→Documentation: BQN) |
m (Text replacement - "</source>" to "</syntaxhighlight>") |
||
Line 4: | Line 4: | ||
When the resulting function is used [[monadic]]ally, it has the same behaviour as if the [[Beside]] or [[Atop (operator)|Atop]] operator had been used: | When the resulting function is used [[monadic]]ally, it has the same behaviour as if the [[Beside]] or [[Atop (operator)|Atop]] operator had been used: | ||
{| | {| | ||
|<source lang=apl> (g ⍥ h) ⍵</ | |<source lang=apl> (g ⍥ h) ⍵</syntaxhighlight>|| {{←→}} ||<source lang=apl>g (h ⍵)</syntaxhighlight> | ||
|} | |} | ||
When the resulting function is used [[dyadic]]ally, both arguments are pre-processed: | When the resulting function is used [[dyadic]]ally, both arguments are pre-processed: | ||
{| | {| | ||
|<source lang=apl>⍺ (g ⍥ h) ⍵</ | |<source lang=apl>⍺ (g ⍥ h) ⍵</syntaxhighlight>|| {{←→}} ||<source lang=apl>(h ⍺) g (h ⍵)</syntaxhighlight> | ||
|} | |} | ||
Line 20: | Line 20: | ||
(⌈/x)+⌈/y | (⌈/x)+⌈/y | ||
9 | 9 | ||
</ | </syntaxhighlight> | ||
== Close composition == | == Close composition == | ||
In [[SHARP APL]] and [[J]], Over is implemented as a [[close composition]], meaning that (using SHARP syntax) <source lang=apl inline>f⍤g</ | In [[SHARP APL]] and [[J]], Over is implemented as a [[close composition]], meaning that (using SHARP syntax) <source lang=apl inline>f⍤g</syntaxhighlight> has the overall [[function rank]] of <source lang=apl inline>g</syntaxhighlight>. J uses <code>&</code> for the close form and <code>&:</code> for the rankless form that appears in modern APLs. | ||
== History == | == History == | ||
[[Ken Iverson]] defined Over in 1978 as part of [[Operators and Functions]],<ref>[[Ken Iverson]]. [https://www.jsoftware.com/papers/opfns.htm ''Operators and Functions''], §8 Composition and Duality. IBM Research Report #RC7091. 1978-04-26.</ref> with the glyph <source lang=apl inline>¨</ | [[Ken Iverson]] defined Over in 1978 as part of [[Operators and Functions]],<ref>[[Ken Iverson]]. [https://www.jsoftware.com/papers/opfns.htm ''Operators and Functions''], §8 Composition and Duality. IBM Research Report #RC7091. 1978-04-26.</ref> with the glyph <source lang=apl inline>¨</syntaxhighlight>. He called it Composition, as there was no [[Atop operator]]. It was added to [[SHARP APL]] as a [[close composition]] with glyph <source lang=apl inline>⍤</syntaxhighlight> and name "on", with a limited implementation in 1981<ref>[https://www.jsoftware.com/papers/satn41.htm "Composition and Enclosure"]. SATN-41, 1981-06-20.</ref> followed by a full implementation in 1983 with the introduction of [[function rank]].<ref>[https://www.jsoftware.com/papers/satn45.htm "Language Extensions of May 1983"]. SATN-45, 1983-05-02.</ref> | ||
The glyph <source lang=apl inline>⍥</ | The glyph <source lang=apl inline>⍥</syntaxhighlight> appeared in [[NARS2000]], with name "Composition", by 2011.<ref>[http://wiki.nars2000.org/index.php?title=Composition Composition]. [[NARS2000]] Wiki.</ref> The name "Over" was used in [[Dyalog APL 18.0]], suggested by [[Adám Brudzewsky]].<ref>Adam Brudzewsky. Chat message {{m|42021088}}. [[APL Orchard]]. 31 Dec 2017.</ref> | ||
== External links == | == External links == |