Hi Juergen > how does NARS2000 define f⍤B and A f⍤B (the standard does not)?
I can answer this. f⍤y is just the function that would be applied to B in f⍤y B, so that one can give it a name: g←f⍤y and then apply it: g B A f⍤B is a syntax error, because f⍤B becomes a function, which then lacks the right argument. > In GNU APL you can put the y in axis brackets to resolve the ambiguity. > I personally believe ⍤[y] B is a clearer syntax than ⍤y B. > > {'foo',⍵}⍤[1] 4 5⍴⍳10 This ambiguity between the right argument of the operator and that of the derived function (⍵⍵ and ⍵) or more rarely between the two left arguments (⍺ and ⍺⍺) is usually resolved using either parentheses around the derived function or using the right identity function ⊢ This is true even for other common operators: ⊂⍣3⊢⍳3 ⍝ enclose ⍳3 three times (⊂⍣3)⍳3 ⍝ same Parentheses around the right argument mean something else in dialects with "strands" such as Dyalog: ⊂⍣3(⍳3) ⍝ this produces the derived function ⊂⍣(3,⊂⍳3) which will give an error when applied I would be wary of bracket notation on the rank operator, because it has a different meaning in Nars2000 (which I'm not sure I understand entirely) see http://wiki.nars2000.org/index.php/Rank That page mentions conforming to ISO 13751, so I would check whether the bracket notation should have a particular meaning according to it (maybe where they define bracket notation in general?) Tobia