Beside: Difference between revisions

Jump to navigation Jump to search
663 bytes added ,  10:18, 6 September 2021
→‎Examples: should be monadic
(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 [[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.
{{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 ===


* [http://help.dyalog.com/17.1/#Language/Primitive%20Operators/Composition%20Form%20I.htm Dyalog] (monadic), [http://help.dyalog.com/17.1/#Language/Primitive%20Operators/Composition%20Form%20IV.htm Dyalog] (dyadic)
* [https://help.dyalog.com/18.0/#Language/Primitive%20Operators/Beside.htm Dyalog]
 


{{APL built-ins}}
{{APL built-ins}}[[Category:Primitive operators]][[Category:Composition operators]]
24

edits

Navigation menu