there doesn't seem to be a difference between <@cut f. 1 :'u ' 'a b c'
<@cut f. 1 :'u y' 'a b c' <@cut f. and <@(cut f.) do differ in their representations, with the first getting the 1 : 0 boilerplate. There is an extra boxing level result for 2nd. without f., first result occurs which would make it the desired one. and f. applied to whole function provides desired result, while u@(cut f.) is "flakey" The explanation for flakey is that <@ gets applied once on monad, then another when $: invokes dyad. what 1 : 'u y' does because it gets paired with just cut (<@ is "made" external to that adverb application) is make the expression a self contained verb, where $: only lives inside that verb. So v@(u f.) is a way to limit the scope of $: inside u to u (instead of v@u), and then necessarily cool. On Wednesday, February 9, 2022, 03:41:19 p.m. EST, Raul Miller <[email protected]> wrote: On Wed, Feb 9, 2022 at 3:29 PM 'Pascal Jasmin' via Programming <[email protected]> wrote: > The biggest mystery to me is how adding the 1 : 0 multiline boilerplate is > different from adding ]:/1 :'u' adverb or no adverb at all. The difference between 1 :'u' and 1 :('u y';':';'x u y') is similar to the difference between <@((cut f.) 1 :'u') 'a b c' and <@((cut f.) 1 :'u y') 'a b c' I hope this helps, -- Raul ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
