- 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
