See comments below.
On 2016-08-03 15:47, Marc Simpson wrote:
On Wed, Aug 3, 2016 at 1:21 AM, Erling Hellenäs
<[email protected]> wrote:
My article contains some points supposed to show that the tacit J syntax is
a "total mess of utter complexity".
This is the crux of the discussion, I think. It's one thing to argue
that tacit expressions can be confusing as they involve rewriting
equivalent explicit phrases (which is a fair point), it's another to
then ignore their utility and expressiveness in a dismissive way (both
here and in your article).
The reason is simply that I didn't find any significant advantages of
the tacit J notation compared to the modified explicit J notation. If I
knew of any such significant advantage I would have included it.
The tacit J notation gives some support for the imagination when you do
math work with functions. I did not consider this a significant advantage.
I think I have understood the tacit J notation. There is another article
where I describe this:
https://erlhelinfotech.wordpress.com/2016/05/30/j-a-functional-language/
If there is any such significant advantage, please tell.
Put differently: it's great to see your work in this area (thanks for
sharing) but the tone strikes me as problematic if you're actually
looking to invite constructive comments.
I can appreciate your focusing on regular parsing rules (as per K, Q
and Dyalog d-fns) but stating things like "The tacit J syntax is a
total mess of utter complexity" just seems lazy. Further, as Raul
points out, [: – [: – [: – [: – ] is a rather boring example (and yes,
a strawman). To me this scans as:
"Hey, look how terrible Your Favourite Language L is, where to raise
something to the power of 5 you have to do: X * X * X * X * X"
never mind that there's an exponentiation operator; move along, move along.
Maybe we can discuss facts and allow me to have the feelings I have and
express them?
I started working with APL 1979. I have been hanging out in the J forum
for years. Now I spent 2 months writing a different J. Believe me, I am
not your enemy, I only have a strong will to change things for the better.
I once wrote down all combinations of two and three verbs which are
commonly used. It was a lot. I guess there is between 50 and 100
different ways to get the right argument to the right function in a hook
and a fork.
I will add a more scientific view to this point in some hours.
More constructively: See Roger's comments on whether J should have
provided a hook conjunction rather than the train syntax we have now;
to me, that's a more interesting discussion and touches on some of
your criticisms of length, arity, etc.
Can you provide a link?
Personally I think forks are one of the most important ideas in J.
I describe the fork in a different way in my article than how it is
normally described. I describe one of the differences between explicit
and tacit J as taking away the default composition operation between two
verbs. Any opinions about this description?
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm