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

Reply via email to