Hi,

I believe what in this particular case the syntaxic sugar makes sense
since the original way of doing it (explicitely introducing local
variables and using destructive bind) is a drawback rather than benefit,
and looks like was blindly following the concept of having only 2 arguments of
a function.
With the current way it is just more pain to do the same things without
benefiting in clarity (Dyalog's version of this syntax imho much more
clear to read, understand and support)


Juergen Sauermann <juergen.sauerm...@t-online.de> writes:

> Hi Alexey,
>
> as Christian has pointed out, the IBM APL2 equivalent of Dyalog's
>
> ∇multi(a1 a2 a3) 
>
> is:
>
> ∇multi a
> (a1 a2 a3)←a
>
> IMHO a language does not get any better if it provides
> different syntactic constructs for (almost) the same thing. The complexity of 
> the
> language is being increased without a noticeable benefit. I would also claim
> that the best languages are not those that have the most features, bit those
> that have a clean (and, minimal) structure.
>
> /// Jürgen
>
> On 03/03/2016 11:17 PM, Alexey Veretennikov wrote:
>
>
>  Hi,
>
> In GNU APL in order to supply several (>2) arguments to the function I
> have to write something like this:
>
> ∇multi a;a1;a2;a3
> a1←a[1]
> a2←a[2]
> a3←a[3]
> ⍕a1
> ⍕a2
> ⍕a3
>
> In Dyalog APL I can just write
> ∇multi(a1 a2 a3)
> ⍕a1
> ⍕a2
> ⍕a3
>
> The same syntax in GNU APL lead to an errer in function header. Can we
> have the same syntax as in the Dyalog APL since it looks like it will not 
> break any compatibility?
>
>
>

-- 
Br,
/Alexey

Reply via email to