Thank you for responding, Roger. Your first point I simply agree with - that was what I meant by 'provocative'. Your second point is such a good illustration of how richness of possibility can arise from raising the level of abstraction even a little - just having the rank-generalised inner product, let alone function-generalised, as an implicit linguistically-shared tool allows for an undergrowth of possibilities in implementation as well as purpose (sorry, that's a bit cryptic, but real language sometimes is, I find). I am unsure if even the purely functional languages are rich in that way.
I think I must look again at J, now I am free from commercial considerations! Stuart -----Original Message----- From: Chat [mailto:[email protected]] On Behalf Of Roger Hui Sent: 16 October 2017 14:54 To: Chat Forum <[email protected]> Subject: Re: [Jchat] redundancy in J 0. The use of terms from natural languages (noun, verb, adverb, etc.) is an extended and useful metaphor. See section 4 of *Some Exercises in APL Language Design <http://www.jsoftware.com/papers/APLDesignExercises.htm>*. 1. There is a way to do the common inner product *./ .= ("and dot equals") much more efficiently using i., made possible by the "item" (major cell) definition of i. . See section 12 of *Index-Of, a 30-Year Quest <http://www.jsoftware.com/papers/indexof/indexof.htm>*. In over 45 years of APL systems no one I know of thought to implement and-dot-equals using index-of. They might have with the extended definition of i. (the J definition). 2. Inner product itself can be stated using the rank operator, computed differently from the conventional "row-by-column". See *Inner Product -- An Old/New Problem <http://www.jsoftware.com/papers/innerproduct/>*. This alternative computation, "row-at-a-time", can be faster than "row-by-column" by a factor of 10 or more. ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
