- I don't know what a "dyadic noun" is.

- If "avoiding dyadic verbs and parentheses"
were design goals, I am not aware of them.
Obverse, square, decrement/increment are 
useful in their own right, judged according to
Section 1 of "Notation as a Tool of Thought"
http://www.jsoftware.com/papers/tot.htm
(i.e. ease of expressing constructs arising
in problems, suggestivity, subordination of
detail, economy, and amenability to formal proofs.)

- Regarding @: , @, etc.:  In conventional math 
notation, the composition of monads is written 
f0 jot f1 jot f2 jot f3 ...,
and you can make a case for juxtaposition to denote 
composition:  (f0 f1 f2 f3 ... )  In J (and APL), 
when dyads are involved, there are several possibilities 
for composition, and different symbols were invented 
for them:

   x f...@g y  <->  f (x g y)
   x f&g y  <->  (g x) f (g y)
   x f&.g y <->  g^:_1 (g x) f (g y)

See Ken's seminal 1978 paper "Operator and Functions"
http://www.jsoftware.com/papers/opfns.htm#8

If juxtaposition denotes composition, a choice
would have to be made as to which composition
is denoted.  The Jwiki essay
http://www.jsoftware.com/jwiki/Essays/Hook_Conjunction%3F
has a brief discussion of this.

Regarding why there is v1@:v2@:v3 instead of 
(v1 (v2 v3)), there is no document that tells
you the reason, but the answer is "obvious".
Which of the following is preferrable?

v1 @: v2 @: v3 @: v4 @: v5 @: v6 @: v7
(v1 (v2 (v3 (v4 (v5 (v6 v7)))))

A less obvious reason is that having a symbol
for something makes it easier to talk about
(to reason about, to manipulate, etc.) that thing.



----- Original Message -----
From: Don Watson <[email protected]>
Date: Wednesday, April 29, 2009 12:28
Subject: Re: [Jchat] Language S
To: Chat forum <[email protected]>

>     Computer languages and Mathematics tend to 
> generate parentheses. Too 
> many can be confusing. The entities that cause them in a right 
> to left 
> language are dyadic nouns. Explict J has some clever ways of 
> avoiding dyadic 
> verbs and parentheses - like obverse, square, decrement and increment.
> 
>     in tacit J,"@:" seems a way of avoiding 
> parentheses. Couldn't the 
> phrase:
> 
>    V1 @: V2 @: V3, instead be written:
> 
>     (V1 ( V2 V3))
> 
>     If so, I would understand better if the 
> document told me the real reason 
> why I need to use: "@:".
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to