Withe: Difference between revisions
(Created page with "{{Built-in|Withe|⍩}} is a primitive operator which forms a hook. Called dyadically with function operands <source lang=apl inline>f</source> and...") |
(BQN) |
||
Line 3: | Line 3: | ||
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>Y f g Y</source>. Thus, Withe can be defined as the [[dop]] <source lang=apl inline>{⍺←⍵ ⋄ ⍺ ⍺⍺ ⍵⍵ ⍵}</source> and is equivalent to the [[derived function]] <source lang=apl inline>f∘g⍨⍨</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>Y f g Y</source>. Thus, Withe can be defined as the [[dop]] <source lang=apl inline>{⍺←⍵ ⋄ ⍺ ⍺⍺ ⍵⍵ ⍵}</source> and is equivalent to the [[derived function]] <source lang=apl inline>f∘g⍨⍨</source>. | ||
Withe first appeared in [[A Dictionary of APL]],<ref>[[Ken Iverson]]. [[A Dictionary of APL]]. [https://www.jsoftware.com/papers/APLDictionary1.htm#withe Withe]. [[APL Quote Quad]], Volume 18, Number 1, 1987-09.</ref> but substituted by the 2-[[train]] in [[J]] after the proposal in [[Ken Iverson|Iverson]] and [[Eugene McDonnell|McDonnell]]'s paper ''Phrasal Forms''.<ref>[[Ken Iverson]] and [[Eugene McDonnell]]. [http://www.jsoftware.com/papers/fork.htm Phrasal forms] at [[APL89]].</ref> | Withe first appeared in [[A Dictionary of APL]],<ref>[[Ken Iverson]]. [[A Dictionary of APL]]. [https://www.jsoftware.com/papers/APLDictionary1.htm#withe Withe]. [[APL Quote Quad]], Volume 18, Number 1, 1987-09.</ref> but substituted by the 2-[[train]] in [[J]] after the proposal in [[Ken Iverson|Iverson]] and [[Eugene McDonnell|McDonnell]]'s paper ''Phrasal Forms''.<ref>[[Ken Iverson]] and [[Eugene McDonnell]]. [http://www.jsoftware.com/papers/fork.htm Phrasal forms] at [[APL89]].</ref> It is present in [[BQN]] as '''After''' (<code>⟜</code>).<ref>[[Marshall Lochbaum]]. ''Tutorial: Combinators''. [https://mlochbaum.github.io/BQN/tutorial/combinator.html#before-and-after Before and After]. Accessed 2021-09-01.</ref> | ||
== See also == | == See also == |
Revision as of 18:47, 1 September 2021
⍩
|
Withe (⍩
) is a primitive operator which forms a hook. Called dyadically with function operands f
and g
, it uses g
monadically to pre-processes the right argument before applying f
to the given left argument and pre-processed right argument. Called monadically with operands f
and g
, it uses g
monadically to pre-processes the argument before applying f
to the argument and pre-processed argument.
In usage, X f⍩g Y
is equivalent to X f g Y
, and f⍩g Y
is equivalent to Y f g Y
. Thus, Withe can be defined as the dop {⍺←⍵ ⋄ ⍺ ⍺⍺ ⍵⍵ ⍵}
and is equivalent to the derived function f∘g⍨⍨
.
Withe first appeared in A Dictionary of APL,[1] but substituted by the 2-train in J after the proposal in Iverson and McDonnell's paper Phrasal Forms.[2] It is present in BQN as After (⟜
).[3]
See also
References
- ↑ Ken Iverson. A Dictionary of APL. Withe. APL Quote Quad, Volume 18, Number 1, 1987-09.
- ↑ Ken Iverson and Eugene McDonnell. Phrasal forms at APL89.
- ↑ Marshall Lochbaum. Tutorial: Combinators. Before and After. Accessed 2021-09-01.