> Change from a Noun to a verb, view its tacit version and apply it to data:
>
>     dd=: 13 :'(y%2) > (?]) x$y'
>
>     dd
> (2 %~ ]) > [: (? ]) $
>

That is quite cool.  I'm surprised that you can automatically get the tacit
definition.  Does this work for any explicitly defined verb?

I'm also surprised at the way %~ came out.  Do left hand arguments not
require a & to bind the argument?  It is strange to me that (1) works but
(2) does not.  It seems to me that (3) is the logical way to phrase either
of them (ie. a fork with a constant right / left side).  To reiterate, why
does (1) work?

(1)    (2 %~ ]) > [: (? ]) $
(2)    (] % 2) > [: (? ]) $
(3a)   (2: %~ ]) > [: (? ]) $
(3b)   (] %~ 2:) > [: (? ]) $
(4a)   (%&2 ]) > [: (? ]) $      NB. incorrect (hook caught me out again)!
(4b)   ([: %&2 ]) > [: (? ]) $   NB. correct

Cheers,

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

Reply via email to