> From: Don Watson > > From: "bill lam" > > >I only read the doc in brief, your notation such as > > D M M M > > > > is non-J in that verb is ambivalent. eg `%' could mean division or > > reciprocal depending on context (untested). > > > __________________________________________________________________ > > At some point a decision was made to abandon the right to left rule > with > the fork, which is the fundamental component of tacit programming. The > (MDM) > format leads to a strict verb alteration MDMDMDMDM in tacit > programming. The > way J identifies whether a verb symbol is monadic or dyadic is by its > position in the verb train - the first is monadic, the second dyadic > and so > on.
I think what Bill was trying to point out is that the valence of a verb does not depend on its position in the verb train, but on its context. Here is a tacit train of 3 verbs: (* % -) Currently we (and J) have no idea whether * and - will be monadic or dyadic verbs. We don't know until we give the sentence nouns. In the following sentence * and - are monadic because only a right argument is supplied: (* % -) 3 2 4 _0.333333 _0.5 _0.25 Here they are dyadic because both a left and right argument is supplied: 7 (* % -) 3 2 4 5.25 2.8 9.33333 % is dyadic in both cases because when it gets around to being executed it has both left and right noun arguments (the results of * 3 2 4 or 7 * 3 2 4 and - 3 2 4 or 7 - 3 2 4). I think perhaps your first statement is also incorrect or at least imprecise - Tacit form does not abandon right to left parsing, it just changes the order of execution in the same way as parentheses can in explicit form. ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
