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 <[email protected]>
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 <
>>> [email protected]> 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.
>>>
>>>
>>
>>