24
edits
(Created page with "{{Built-in|Beside|∘}}, '''Compose''' or '''After''' is a primitive operator. It shares the glyph <source lang=apl inline>∘</source> with bind. Called Dyadic func...") |
(→Examples: should be monadic) |
||
(10 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{Built-in|Beside|∘}}, '''Compose''' or '''After''' is a [[primitive operator]]. It shares the glyph <source lang=apl inline>∘</source> with [[ | {{Built-in|Beside|∘}}, '''Compose''' or '''After''' is a [[primitive operator]]. It shares the glyph <source lang=apl inline>∘</source> with [[Bind]]. Called [[Dyadic function|dyadically]] with function operands <source lang=apl inline>f</source> and <source lang=apl inline>g</source>, it uses <source lang=apl inline>g</source> [[Monadic function|monadically]] to pre-processes the right argument before applying <source lang=apl inline>f</source> to the given left argument and pre-processed right argument. Called [[Monadic function|monadically]] with operands <source lang=apl inline>f</source> and <source lang=apl inline>g</source>, it applies <source lang=apl inline>f</source> to the result of applying <source lang=apl inline>g</source> to the argument. | ||
In usage, <source lang=apl inline>X f∘g Y</source> is equivalent to <source lang=apl inline>X f g Y</source>, and <source lang=apl inline>f∘g Y</source> is equivalent to <source lang=apl inline>f g Y</source>. Thus, beside can be defined as the [[dop]] <source lang=apl inline>{⍺←⊢ ⋄ ⍺ ⍺⍺ ⍵⍵ ⍵}</source>. | In usage, <source lang=apl inline>X f∘g Y</source> is equivalent to <source lang=apl inline>X f g Y</source>, and <source lang=apl inline>f∘g Y</source> is equivalent to <source lang=apl inline>f g Y</source>. Thus, beside can be defined as the [[dop]] <source lang=apl inline>{⍺←⊢ ⋄ ⍺ ⍺⍺ ⍵⍵ ⍵}</source>. | ||
== Examples == | |||
When used [[monadic]]ally, <source lang=apl inline>f∘g</source> behaves the same as an [[atop]]: | |||
<source lang=apl> | |||
-∘÷ 2 | |||
¯0.5 | |||
⍝ same as | |||
-(÷2) | |||
¯0.5 | |||
</source> | |||
When used [[dyadic]]ally, <source lang=apl inline>f∘g</source> forms a dyadic [[hook]]: | |||
<source lang=apl> | |||
'oy'≡∘⌽'yo' | |||
1 | |||
⍝ same as | |||
'oy'≡⌽'yo' | |||
1 | |||
</source> | |||
When used monadically with [[Commute]], <source lang=apl inline>f∘g</source> forms a monadic [[hook]]: | |||
<source lang=apl> | |||
≡∘⌽⍨'UwU' | |||
1 | |||
⍝ same as this, because operators are left-associative, unlike functions which are right-associative | |||
(≡∘⌽)⍨'UwU' | |||
1 | |||
⍝ same as | |||
'UwU'≡⌽'UwU' | |||
1 | |||
</source> | |||
== External links == | == External links == | ||
Line 11: | Line 44: | ||
=== Documentation === | === Documentation === | ||
* [ | * [https://help.dyalog.com/18.0/#Language/Primitive%20Operators/Beside.htm Dyalog] | ||
{{APL built-ins}} | {{APL built-ins}}[[Category:Primitive operators]][[Category:Composition operators]] |
edits