Primitive operator: Difference between revisions

Jump to navigation Jump to search
18 bytes added ,  21:53, 10 September 2022
m
Text replacement - "<source" to "<syntaxhighlight"
m (Categories)
m (Text replacement - "<source" to "<syntaxhighlight")
Line 1: Line 1:
A '''primitive operator''' is a kind of [[operator]] which is defined by the language. Like a [[primitive function]], a primitive operator is written with a single [[glyph]] in APL but may use multiple characters in other languages. The one exception to the single-glyph rule is the [[Outer Product]], which is written <source lang=apl inline>∘.</source>. While some dialects consider the outer product to be a case of the [[dyadic operator]] [[Inner Product]] with a [[Jot]] (which they interpret as <source lang=apl inline>⊂⍬</source>) as its left operand, others consider it to be a primitive [[monadic operator]] on its own.
A '''primitive operator''' is a kind of [[operator]] which is defined by the language. Like a [[primitive function]], a primitive operator is written with a single [[glyph]] in APL but may use multiple characters in other languages. The one exception to the single-glyph rule is the [[Outer Product]], which is written <syntaxhighlight lang=apl inline>∘.</source>. While some dialects consider the outer product to be a case of the [[dyadic operator]] [[Inner Product]] with a [[Jot]] (which they interpret as <syntaxhighlight lang=apl inline>⊂⍬</source>) as its left operand, others consider it to be a primitive [[monadic operator]] on its own.


Primitive operators have historically been very limited, a condition which has caused greater variety in modern operators than in functions as language designers have extended the scope of operators in different ways. [[Iverson notation]] did not have a unified concept of an operator, and considered everything which is now an APL operator to be a form of special syntax. [[APL\360]] generalized the concept of an operator, but defined only a small number of them: [[reduction]]s, [[scan]]s, [[inner product]]s, and [[outer product]]s. These operators applied only to primitive functions.
Primitive operators have historically been very limited, a condition which has caused greater variety in modern operators than in functions as language designers have extended the scope of operators in different ways. [[Iverson notation]] did not have a unified concept of an operator, and considered everything which is now an APL operator to be a form of special syntax. [[APL\360]] generalized the concept of an operator, but defined only a small number of them: [[reduction]]s, [[scan]]s, [[inner product]]s, and [[outer product]]s. These operators applied only to primitive functions.

Navigation menu