Hi Devon,
You said:
>What about if there are dyads? E.G.
> x1 f1 x2 f2 x3 f3 x4 f4 x5
> ?
> If you insist on strict right to left, you interpret this as:
> x1, f1(x2 , f2(x3, f3(x4, f4(x5))))
> essentially ignoring the dyadic nature of all functions.
>
> Obviously, this isn't particularly useful.
Actually, a better way of looking at it is:
x1&f1 x2&f2 x3&f3 x4&f4 x5
Which is the same set of monadic functions you had above
x1&f1(x2&f2(x3&f3(x4&f4(x5))))
You said:
> However, I believe the stated motivation of verb trains as they are
> handled
> in J is to allow a richer combination of functions. Specifically, so
> x (f g h) y
> is (x f y) g (x h y) because this is succinct and a useful construct - it
> is
> more general than the strict (and strictly undoable) right-to-left
> parsing.
No disagreement here. You said:
> If you want the preceding to evaluate as the stricter right-to-left
> x f( g( h(y)))
> you can do this simply by using @, @:, or [: as appropriate. If you
> insist
> on strict r-t-l, the more interesting composition would have to be written
> in the wordier form with its duplication of the noun arguments.
Actually, this isn't true. A major point of the argument is that
right-to-left grammar doesn't need @, @: or [: and
therefore is less wordy. In right-to-left grammar fg means
verb f applied after verb g. In tacit J, having defined fg to
mean a fork, tacit J has to add "@:" to make verb f apply
after verb g.
Don
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm