Beside
∘
|
Beside (∘
), Compose or After is a primitive operator. It shares the glyph Jot (<source lang=apl inline>∘</syntaxhighlight>) with Bind. Called dyadically with function operands <source lang=apl inline>f</syntaxhighlight> and <source lang=apl inline>g</syntaxhighlight>, it uses <source lang=apl inline>g</syntaxhighlight> monadically to pre-processes the right argument before applying <source lang=apl inline>f</syntaxhighlight> to the given left argument and pre-processed right argument. Called monadically with operands <source lang=apl inline>f</syntaxhighlight> and <source lang=apl inline>g</syntaxhighlight>, it applies <source lang=apl inline>f</syntaxhighlight> to the result of applying <source lang=apl inline>g</syntaxhighlight> to the argument.
In usage, <source lang=apl inline>X f∘g Y</syntaxhighlight> is equivalent to <source lang=apl inline>X f g Y</syntaxhighlight>, and <source lang=apl inline>f∘g Y</syntaxhighlight> is equivalent to <source lang=apl inline>f g Y</syntaxhighlight>. Thus, beside can be defined as the dop <source lang=apl inline>{⍺←⊢ ⋄ ⍺ ⍺⍺ ⍵⍵ ⍵}</syntaxhighlight>.
Examples
When used monadically, <source lang=apl inline>f∘g</syntaxhighlight> behaves the same as an atop:
<source lang=apl>
-∘÷ 2
¯0.5
⍝ same as -(÷2)
¯0.5 </syntaxhighlight>
When used dyadically, <source lang=apl inline>f∘g</syntaxhighlight> forms a dyadic hook:
<source lang=apl>
'oy'≡∘⌽'yo'
1
⍝ same as 'oy'≡⌽'yo'
1 </syntaxhighlight>
When used monadically with Commute, <source lang=apl inline>f∘g</syntaxhighlight> 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 </syntaxhighlight>
External links
Lessons
Documentation