> At this point, creating a tacit expression is trivial
>    ins3 =: 13 :'|:x#|: x # y'
>    ins3
> [: |: [ # [: |: #
> 
> (Note that I have J configured to show expressions in linear form.)
> 
> Personally, however, I prefer to express tacit verbs slightly
> differently:
>    ins4=: |:@[ # |:@#

   ins3 
[: |: [ # [: |: #
   ins4
|:@[ # |:@#

   1 1 1 1j1 1 (ins3 -: ins4) >: i. 5 5
0
   1 1 1 1j1 1  ins4 >: i. 5 5  NB.Incorrect, needs a transpose.
1  6 11 16 0 21
2  7 12 17 0 22
3  8 13 18 0 23
4  9 14 19 0 24
0  0  0  0 0  0
5 10 15 20 0 25


   When an arg is used twice in a non-tacit expression defining a verb, 
to define a tacit equivalent

-if the verb is dyadic, a fork is useful, as in 
   ( [ #"1 [ # ])  which btw can be simplified into ( [ #"1  #  )

-if the verb is monadic, a hook can also help.


 ~ Gilles
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to