u/moon-chilled wrote:
[x] u ^: v^:_ y
This is not quite right. Recall that conjunctions are left-associative. So u^:v^:_ is (u^:v)^:_, not u^:(v^:_). Then, the 'do-while' behaviour is simply an idiomatic form resulting from existing behaviours: when v returns 0, u will be applied to its operand 0 times, acting as an identity, so the ^:_ will terminate.
So the current description is
execute u repeatedly until v^:_ returns 0
while it should be
execute u repeatedly until v returns 0
The problem is that in the table we have v^:_ as a RMO (right modifying operator, IIRC), so it gets substituted as a whole.
u/moon-chilled wrote:
So the current description is
while it should be
The problem is that in the table we have
v^:_as a RMO (right modifying operator, IIRC), so it gets substituted as a whole.