Hi Bug-APL,
In the context of passing many variables to a function,
I am worried that I am going to forget the parenthesis, since its a really subtle thing:
(a b)←1 2
a
1
b
2
a b←1 2
1 1 2
a
1
b
1 2
Also here, I find binding strength a bit misleading, since the correctly parenthesis'd version correctly throws an error, but the incorrect version passes an 'unanticipated' value if a is previously defined. If 'a' does not exist then an error is also correctly thrown:
a b←1 2 3
1 1 2 3
a
1
b
1 2 3
⎕ex'a'
1
a b←1 2 3
VALUE ERROR
a b←1 2 3
^
I don't think any change is necessary in GNU APL. I'm just wondering if there are different approaches to passing many variables to a function. Any suggestions?
-Alex