There are good reasons to redefine the dyadic adverb / called "table" in the vocabulary, and one reason not to do so.
0) One of the aims of an array programming language should be to make explicit loops (for, while) superfluous. Or at least avoidable at no cost. 1) The current definition of u/ is only a shorthand for u"(lu,_) 2) It is preferable that monadic and dyadic use of primitives match as much as possible 3) There exists a good candidate for dyadic / _1) Incompatibility Some remarks 1) There are cases in which explicit loops are unavoidable if good performance is important. Even(?) Hui used a for-loop in a recent verb http://www.jsoftware.com/pipermail/programming/2006-September/003258.html If I replace in his verb comp the line for_e. g do. c=. (<./i) (i=. {&c^:_ >e)}c end. with the equivalent c=. (({~^:_ )~ ([:<./{)`[`]} ])&.>/ (|.g),<c to obtain verb comp1, than I get (for e=: edgs~ 5e4) a far worse performance ts 'comp e' 0.45996326 7448832 ts 'comp1 e' 2.6279606 7448896 (comp -: comp1) e 1 2) More primitives are shorthand for complicated expressions, e.g. /. is equivalent to 1 : '[EMAIL PROTECTED] =' See http://www.jsoftware.com/jwiki/PrimitivePrimitives for other examples. But u"(lu,_) is not complicated (enough) for a shorthand. What's more, the title (table) does not even reflect its outcome. Try 1 2 3 ;/ 4 5 6 7 as one of the problems I encountered when my J learning curve was a quite bit steeper than today. Of course 1 2 3 ;"0/ 4 5 6 7 gives the desired outcome, but if you know that, than you also can come up with the equivalent 1 2 3 ;"0"0 _ [ 4 5 6 7 3) There are many examples, < and > belonging to the best, where monadic and dyadic use have nothing in common. But if they do, it is at least of mnemonic use. 4) The good candidate I am proposing is just the 'for'-loop Hui used. So I would like to have x u/ y to be defined by " apply u/ on the concatenation of x and y" or, more formally, equivalent to ds=: 1 : 0 NB. dyadic scan : for_j. |.x do. y=. j u y end. ) Then performance can be further improved by special coding ...! _1) No remarks on incompatibility. R.E. Boss ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
