> [mailto:[EMAIL PROTECTED] On Behalf Of Mark D. Niemiec ... > > > With the hindsight from 17 years of usage, I would > > define 2-verb trains differently, viz. > > > > (f g) y <-> f g y > > x (f g) y <-> f (x g y) > > > > And the ranks would be _ _ _ > > This just removes the need for [: (which I could very well > live with, see above). However, I think that the semantics of > the APL bond operator would be better: > (f g) y <-> f g y > x (f g) y <-> x f g y >
That is right! Instead of the current behavior, (using symbolic verbs to illustrate), (u v)Y (Y u (v Y)) X(u v)Y (X u (v Y)) (u v vv)Y ((u Y) v (vv Y)) X(u v vv)Y ((X u Y) v (X vv Y)) One could have had, , as you suggested, (u v)Y (u (v Y)) X(u v)Y NB. No change (X u (v Y)) and I would even consider, (u v vv)Y (u (v (vv Y))) X(u v vv)Y NB. (No structural change, but without any assumed order of execution regarding u vs. vv!) ((X u Y) v (X vv Y)) Would this change not close the gap between tacit and explicit notation (without any loss of generality)? I still occasionally fall into the trap of presuming, (u v)Y (u (v Y)) Fortunately, ([EMAIL PROTECTED] v)Y (u (v Y)) So, one can write, minus=. [EMAIL PROTECTED] (minus %)2 _0.5 without getting, (- %)2 1.5 ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
