I may have some thoughts / suggestions to contribute, but before I weigh in with them, I'm still seeking to first be sure that I understand the more basic dynamics here.
> With the current definition gerund"n"n gives a different result from gerund"n, which sucks.
This is what I would've expected, too, as reasoned below. However, upon some testing, I'm surprised to find that they seem to in fact be the same...!
I would've thought that they would always differ, except when the argument(s) have only one n-cell. My reasoning is that (u`v)"n"n should apply the cyclic u`v"n independently to each n-cell (based on the outer application of "n to u`v"n), each of which gets partitioned vacuously again as a single n-cell (based on the inner application of "n to u`v), and therefore just u would be applied on every n-cell, with v applied to none. But strangely it seems that's not what happens. For example, below, I would've expected the |.`|:"2"2 to give the same result as |."2 , but it doesn't:
(|.`|:"2"2 ; |.`|:"2 ; |."2) i.3 3 3
┌────────┬────────┬────────┐
│ 6 7 8│ 6 7 8│ 6 7 8│
│ 3 4 5│ 3 4 5│ 3 4 5│
│ 0 1 2│ 0 1 2│ 0 1 2│
│ │ │ │
│ 9 12 15│ 9 12 15│15 16 17│
│10 13 16│10 13 16│12 13 14│
│11 14 17│11 14 17│ 9 10 11│
│ │ │ │
│24 25 26│24 25 26│24 25 26│
│21 22 23│21 22 23│21 22 23│
│18 19 20│18 19 20│18 19 20│
└────────┴────────┴────────┘
NB. |: was still applied to middle cell in |.`|:"2"2 case
The following example demonstrates why I would've expected |.`|:"2"2 to be the same as |."2:
(|."2 -: [: |.`|:"2&> <"2) i.3 3 3
1
So perhaps somehow under the current implementation, u`v"n"n is always the same as u`v"n (for non-negative n)? I'm not sure how that's happening. Could this be a bug? Or am I perhaps missing something?
Regards,
Cameron
P.S. -- I'm assuming strictly non-negative rank n in our discussion, since for negative n, verb_or_noun"n"n already generally yields a different result from verb_or_noun"n , independent of whether verb_or_noun is a gerund.