Thank you for GNU APL! I think I've found a bug in SVN revision 1286.
Applying the dyadic ¨ ('each') operator where one or both arguments is an
empty array results in a scalar rather than an empty array as the result:
(0⍴0)+¨1
0
(0⍴0)+¨(0⍴0)
0
1+¨(0⍴0)
0
⍴((0⍴0)+¨(0⍴0))
⍴⍴((0⍴0)+¨(0⍴0))
0
Both ISO/IEC 13751 and the IBM APL2 Reference seem to me to say that the
shape of the result should be the shape of the non-scalar argument, so the
first three expressions above should all return 0⍴0 rather than 0.
--
Ben Harris