The manual is here, see page 145:
http://docs.dyalog.com/15.0/Dyalog%20APL%20Language%20Reference%20Guide.pdf

I'm not sure where Louis got the information about monadic G. I assure you
that Dyalog APL does not examine G to see if it's monadic or dyadic. It
always tries to apply G dyadically.

Jay.

On 15 August 2016 at 12:30, Juergen Sauermann <juergen.sauerm...@t-online.de
> wrote:

> Hi Jay,
>
> I see. Maybe I misunderstood Louis,s email from last Saturday completely?
> The way I read this email was that in Dyalog APL version 15 you can have
> a monadic condition function G in F⍣G . Quote from the email:
>
>
> *The Dyalog 15.0 manual states that the power operator can take a*
> *function right argument. In this case, that function can be*
> *either monadic or dyadic, and can be a lambda.*
> *If it’s monadic:*
>
> *  (F⍣G) ⍵  ←→  ⍵ ←   F ⍵  until          G ⍵*
> *⍺ (F⍣G) ⍵  ←→  ⍵ ← ⍺ F ⍵  until          G ⍵*
>
> *If it’s dyadic:*
>
> *  (F⍣G) ⍵  ←→  ⍵ ←   F ⍵  until  (  F ⍵) G ⍵*
> *⍺ (F⍣G) ⍵  ←→  ⍵ ← ⍺ F ⍵  until  (⍺ F ⍵) G ⍵*
>
> *(Note that G is checked before the first time F is executed.)*
>
> I don't know if that statement is correct or not, but if it is then I
> would prefer to not
> introduce this "monadic case" in GNU APL for the reasons explained earlier.
>
> Thanks,
> Jürgen
>
>
> On 08/15/2016 10:16 AM, Jay Foad wrote:
>
> On 13 August 2016 at 13:05, Juergen Sauermann <
> juergen.sauerm...@t-online.de> wrote:
>
>> In "Mastering Dyalog APL" I haven't found the monadic case for the right
>> function argument
>> G of the power operator. In that book G seems to be always dyadic. So the
>> monadic case looks
>> like a new Dyalog invention. And, if it is defined like you say, IMHO not
>> the ultimate wisdom.
>>
>
> There is no "monadic case". G is always applied dyadically, and if it
> happens to be a strictly monadic function then you'll get a SYNTAX ERROR:
>
>       ⎕FX'r←g y' 'r←g>10' ⍝ g is strictly monadic
>       2 g 4 ⍝ applying it dyadically gives an error
> SYNTAX ERROR
>       (+⍨⍣g)1 ⍝ power operator tries to apply g dyadically
> SYNTAX ERROR
>
> In general, Dyalog APL *never* examines a function operand to see whether
> it is monadic or dyadic, in order to treat them differently.
>
> Jay.
>
>
>

Reply via email to