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

Reply via email to