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

Reply via email to