p j wrote:
> I was implying that x and y were nouns, h f g verbs.
> assuming that x g y produces a noun (almost
> guaranteed)
The result of a verb is always a noun. But you're right
that if there's not result (for example: when there's
an error), no noun is produced.
> then is:
> (h x f@:g y) -: (h f) (x g y) -: (x g y) h (f (x g y))
No. (Try it.)
Issues include
-: produces a result which is typically different from its
arguments. I'd instead use IS=: ] [ [EMAIL PROTECTED]:
(h f) (x g y) is not the left argument for the rightmost -:
I'd instead use ((h f) x g y)
If x and y are nouns, the monadic definition of h is used in the
left-most expression while the dyadic definition of h is
used in the other expressions.
Come to think of it, I was wrong when I said that
(h x f@:g y) -: (h f) (x g y)
was a tautology. I'm wrong there because the
left argument for h on the left hand side of
the -: is not x g y -- the left argument of h
is whatever is specified by the user (without
being processed by any of the verbs in this expression).
These look right
(h x f@:g y) IS (h f x g y) IS (h(f(x(g)y))) IS (h(x(f@:g)y))
--
Raul
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm