Compose: Difference between revisions
No edit summary |
m (Text replacement - "<source" to "<syntaxhighlight") |
||
Line 1: | Line 1: | ||
{{Built-in|Compose|∘}} or '''Composition''' is the most common name for the [[primitive operator|primitive]] [[dyadic operator]] denoted with a [[Jot]] (< | {{Built-in|Compose|∘}} or '''Composition''' is the most common name for the [[primitive operator|primitive]] [[dyadic operator]] denoted with a [[Jot]] (<syntaxhighlight lang=apl inline>∘</source>) introduced by [[NARS]] and included in the [[Dyalog APL]] family. On the APL Wiki, Compose is divided into its two cases, [[Beside]] when both [[operand]]s are [[function]]s, and [[Bind]] when one is a function and the other an [[array]]. | ||
{{quote|Composition assembles functions and arguments to form derived functions. This provides the glue with which to put together functions and arguments so that operator's arguments can be more complex than single functions.<ref>Carl M. Cheney. ''APL*PLUS Nested Arrays System'' ([[NARS]] reference manual). [[STSC]]. 1981.</ref>}} | {{quote|Composition assembles functions and arguments to form derived functions. This provides the glue with which to put together functions and arguments so that operator's arguments can be more complex than single functions.<ref>Carl M. Cheney. ''APL*PLUS Nested Arrays System'' ([[NARS]] reference manual). [[STSC]]. 1981.</ref>}} | ||
In [[Ken Iverson]]'s designs [[Rationalized APL]], [[A Dictionary of APL]], and the [[J]] language, the composition (< | In [[Ken Iverson]]'s designs [[Rationalized APL]], [[A Dictionary of APL]], and the [[J]] language, the composition (<syntaxhighlight lang=apl inline>⍤</source>) or Compose (<syntaxhighlight lang=j inline>&</source>) refers to a different kind of composition, the [[Over]] operator. | ||
More recently, the term "[[function composition|composition]]" is used in [[Dyalog APL]] to refer to any of a family of operators including [[Beside]] and [[Bind]] (< | More recently, the term "[[function composition|composition]]" is used in [[Dyalog APL]] to refer to any of a family of operators including [[Beside]] and [[Bind]] (<syntaxhighlight lang=apl inline>∘</source>), [[Commute]] and [[Constant]] (<syntaxhighlight lang=apl inline>⍨</source>), [[Atop]] (<syntaxhighlight lang=apl inline>⍤</source>), and [[Over]] (<syntaxhighlight lang=apl inline>⍥</source>).<ref>[[Marshall Lochbaum]]. [https://dyalog.tv/Dyalog19/?v=czWC4tjwzOQ Tacit Techniques with Dyalog version 18.0 Operators] ([https://www.dyalog.com/uploads/conference/dyalog19/presentations/D04_Tacit_Techniques.zip slides]) at [[Dyalog '19]].</ref> [[Extended Dyalog APL]] and [[dzaima/APL]] add to this list the operators [[Under]] (<syntaxhighlight lang=apl inline>⍢</source>) and [[Reverse Compose]] (<syntaxhighlight lang=apl inline>⍛</source>). | ||
== References == | == References == | ||
<references /> | <references /> | ||
{{APL built-ins}}[[Category:Primitive operators]][[Category:Composition operators]] | {{APL built-ins}}[[Category:Primitive operators]][[Category:Composition operators]] |
Revision as of 22:05, 10 September 2022
∘
|
Compose (∘
) or Composition is the most common name for the primitive dyadic operator denoted with a Jot (<syntaxhighlight lang=apl inline>∘</source>) introduced by NARS and included in the Dyalog APL family. On the APL Wiki, Compose is divided into its two cases, Beside when both operands are functions, and Bind when one is a function and the other an array.
Composition assembles functions and arguments to form derived functions. This provides the glue with which to put together functions and arguments so that operator's arguments can be more complex than single functions.[1]
In Ken Iverson's designs Rationalized APL, A Dictionary of APL, and the J language, the composition (<syntaxhighlight lang=apl inline>⍤</source>) or Compose (<syntaxhighlight lang=j inline>&</source>) refers to a different kind of composition, the Over operator.
More recently, the term "composition" is used in Dyalog APL to refer to any of a family of operators including Beside and Bind (<syntaxhighlight lang=apl inline>∘</source>), Commute and Constant (<syntaxhighlight lang=apl inline>⍨</source>), Atop (<syntaxhighlight lang=apl inline>⍤</source>), and Over (<syntaxhighlight lang=apl inline>⍥</source>).[2] Extended Dyalog APL and dzaima/APL add to this list the operators Under (<syntaxhighlight lang=apl inline>⍢</source>) and Reverse Compose (<syntaxhighlight lang=apl inline>⍛</source>).
References
- ↑ Carl M. Cheney. APL*PLUS Nested Arrays System (NARS reference manual). STSC. 1981.
- ↑ Marshall Lochbaum. Tacit Techniques with Dyalog version 18.0 Operators (slides) at Dyalog '19.