u n: is to be => ([x] u y)
this happens to be the same output as the verb u.
u n: A is to be=> ([x] u y) A
Difference between left and right is that left is a contained function that (u
n:) can be considered a conjunction where x and y are m and n parameters.
Except that an actual conjunction must be dyadic or alternatively assume
monadic form. In dyadic form replacement, such a conjunction is the
universally useful (by new old modifier trains):
v2c =: 1 : '[. u ].' NB. turn dyadic verb into conjunction. Useful enough to
get v: built in.
2 + (v2c (&+)) 3
5&+
same result as (+ n: (&+)) and legal.
to use a monad verb, just make it a conjunction (2 parameters after all)
instead of compound modifier (3 params).
vm2c =: APPLY =: 2 : ' u n' NB. monad verb applied to n. Legal. m: might be
justifiable built in.
- (vm2c (&+)) 3
_3&+
n: would save the burden of switching/knowing/limiting what valence u might
be. Very useful.
where C is a conjunction,
u n: C is to be=> (([x] u y) C) NB. result is an adverb.
n: becomes a way to turn a C into a double adverb with m as noun parameter to
C, as v u n: C => (v (([x] u y) C)) => ([x] u y) C v
n: (C v) follows adverb functionality.
This is also possible to replace with existing legal means... again turning
into "some level" of conjunction:
2 (((&+)) @ ]:)1 NB. AC]:
2&+@1
c2c =: 2 : NB. m is string of C. returns C ignoring u and v.
2 (& ('@'c2c) ) +
2&+@
- 2 (& ('@'c2c) ) +
2&+@-
- 2 (& ('@'c2c) ) + 3
_1
there are few built in conjunctions that take m parameter (@.), and it would be
unusual for a conjunction to take 2 noun arguments, and if a conjunction takes
1, it is more likely to be n, and then (n: C ]:) is unlikely to have an exact
practical analogy. But, this CA example shows partial binding potential.
2 (+v2c (&+)) 3
5&+
2 ('@'c2c +v2c ) 3
@5
Maybe there's no need for n: afterall. The alternative to (n: A) (or cloak
based 'A' oa) is
(v2c A) NB. for dyad u
(vm2c A) NB. for monad u.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm