I was playing around with the Rank Operator, which is something that isn't really documented in many places. I only saw references to it in the spec, while neither APL2 nor Dyalog mentions it.
Now, there are a few things that behaves strangely, although it may be correct. First of all, the following works (]BOXING is 8): *xx ← 4 5⍴⍳10* * {'foo',⍵}⍤1 xx* ┌→─────────────┐ ↓foo 1 2 3 4 5│ │foo 6 7 8 9 10│ │foo 1 2 3 4 5│ │foo 6 7 8 9 10│ └──────────────┘ But the following does not: *{'foo',⍵}⍤1 4 5⍴⍳10* RANK ERROR λ1⍤1 4 5⍴⍳10 ^ ^ *({'foo',⍵}⍤1) 4 5⍴⍳10* RANK ERROR (λ1⍤1)4 5⍴⍳10 ^ ^ Also, the spec says it returns a function, but I can't assign it to a variable: *a ← {'foo',⍵}⍤1* RANK ERROR a←λ1⍤1 ^ ^ I suppose the last one is expected, since *xy←+/* also does not work (but should it?) Is the behaviour correct, or is there a problem with the parsing? Regards, Elias