# Axis

From NARS2000

- The Axis operator is allowed with all primitive scalar dyadic functions (e.g., 1 2+[1] 2 3⍴R) and some scalar monadic functions (e.g., <[1] 2 3⍴R)
- The Axis operator is allowed with some primitive operators (e.g., L←'abcdef' ⋄ R←⍳⍴L ⋄ L ,⍤[1] 0 R ←→ L,[0.5] R)
- The Axis operator to primitive scalar dyadic functions may transpose coordinates (e.g., (2 3⍴L)+[1 2] 2 3 4⍴R ←→ (⍉2 3⍴L)+[2 1] 2 3 4⍴R)
- The Axis operator to Ravel may transpose coordinates (e.g., ,[2 1] R and ,[1 2] R are both valid but, in general, have the same values in different order)
- The Axis operator is allowed on the dyadic derived function from the Each operator (e.g., (2 3⍴L)⍴¨[1 2] 2 3 4⍴R)
- The Axis operator is allowed on user-defined functions/operators (e.g., FOO[2 3] R by specifying it in the function header, as in ∇ Z←FOO[X] R)
- If the first element of ⎕FEATURE is a 1, the Axis operator values may be negative. That is, if the largest allowed value is N, then the allowable range for axis operator values is 1 ¯1[1]-N to N, inclusive.