Replies inline:

On Wed, Aug 3, 2016 at 8:04 AM, Erling Hellenäs
<[email protected]> wrote:
> See comments below.
>
> 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.

Right, that's the focus of the disagreements on this thread, I think.

> 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'm not sure what this means; forks aren't purely for mathematical
operations and have general (widespread) utility involving higher
order manipulation of functions/verbs as they apply to their
arguments.

> 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.

For me, (i) expressiveness and (ii) the ability to think in terms of
series of functional transformations (as units) being applied to
arguments (on a higher level than simple composition). I'm sure others
can phrase this better.

Clearly we're entering the realm of preferences here.

>> 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?

The phrase I objected to was "The tacit J syntax is a total mess of
utter complexity" which was presented for discussion. I was critiquing
that.

That said, my tone could also have been better here ('lazy' and
'boring'); apologies.

> 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.

Thanks.

>> 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?

Take a look at: http://code.jsoftware.com/wiki/Essays/Hook_Conjunction%3F.

There's been some discussion of this on the programming@ forum too
(searching for 'hook conjunction' should return quite a few hits).

>> 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?

I don't think it's accurate to talk about default composition in
explicit code; really, it's just function application (in the explicit
phrase `f g x', we're not first composing `f' and `g', then applying
the composed monadic verb to `x'; rather, we're applying `g' to `x',
then `f' to that result).

So, tacit expressions don't remove default composition, they have a
different mode of application. (To borrow a phrase from Backus, we
could think of tacit expressions as those residing in a function-level
programming context.)
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to