I'll give it a shot:
* foo ← {⍺ ⍶ ⍵}*
This defines foo as an operator that applies the function on its two arguments.
I.e. in the following example:
*
*
* 10 +foo 20*
30
The foo operator simply applies + to 10 and 20, returning 30. In other words, ⍶
is the function that goes to the left of the operator name.
Similarly, ⍹ is the function that goes on the right of the operator name:
* bar ← {(⍺ ⍶ 2) ⍹ (⍵ **⍶** 3) }*
* 10 +bar- 20*
¯11
The call to bar results in the following formula being evaluated: (10+2)-(20+3).
Regards,
Elias
On 18 May 2016 at 10:48, Christian Robert <address@hidden
<mailto:address@hidden>> wrote:
Sorry, no explanations given.
hook←{⍵⍶⍹⍵}
+hook÷2
2.5
hook←{⍵⍶⍹⍵⊣⎕←⍵⊣⎕←⍶⊣⎕←⍹⊣⎕←⍵}
+hook÷2
2
DOMAIN ERROR
hook[1] λ←⍵ ⍶ ⍹ ⍵⊣⎕←⍵⊣⎕←⍶⊣⎕←⍹⊣⎕←⍵
^^
please explain the principle to a newbie.
I really want a working examples.
Xtian.
On 2016-05-17 22:30, Xiao-Yong Jin wrote:
They are for direct function (operator?) definitions. Try:
hook←{⍵⍶⍹⍵}
+hook÷2
2.5
On May 17, 2016, at 8:24 PM, Christian Robert <address@hidden
<mailto:address@hidden>> wrote:
hi,
in the result of "]help" I can see:
λ { ... } result
⍺ { ... } left value argument
⍵ { ... } right value argument
χ { ... } axis argument
⍶ { ... } left function argument
⍹ { ... } right function argument
can someone explain to me the usage of ⍶ and ⍹
with some examples ?
I understant the first four, but not the last two.
many thanks,
Xtian.