Jose/Pepe has done this. afaiu I think it is a way to avoid unnecessary intermediate names.
I can't say I understand how adding 1: 0 to the f. result changes how $: applying to its entire new verb phrase "complications" gets avoided in any way. , 1 : ' u@cut f.' On Wednesday, February 9, 2022, 01:20:23 p.m. EST, Elijah Stone <elro...@elronnd.net> wrote: What if its scope were delineated explicitly? -E On Wed, 9 Feb 2022, 'Pascal Jasmin' via Programming wrote: > Just to follow up that this limitation/feature of f. is a necessary one. > When using $: as recursion (potential multiple repeats) limiting its scope to > just its (named) self is or at least feels like a prudent way to avoid > recursion errors. Errors that are more painful than most since infinite > recursion requires a "break" to get control back. > > > > > > > On Wednesday, February 9, 2022, 11:29:25 a.m. EST, 'Pascal Jasmin' via > Programming <programm...@jsoftware.com> wrote: > > > > > > dictionary page for f. mentions "problems" with f. when u includes $: > > this example seems ok though: > > + 1 : ' 0 & $: : (u/ % #) f.' > > 0&$: :(+/ % #) > > cut f. > > ' '&$: :([: -.&a: <;._2@,~) > > but: > > , 1 : ' u@cut f.' > > ,@(' '&$: :([: -.&a: <;._2@,~) (1 : 0)) > > u y > > : > > x u y > > ) > > adds some "explicit boilerplate" > > n&$: is an extremely useful pattern for providing default x argument to dyad. > > > I still passionately hate the new AC train interpretation. (should be uACv > instead of uACu), but it does offer an elegant-ish workaround. > > ([: -.&a: <;._2@,~) ((' '&) :) > > ' '&([: -.&a: <;._2@,~) :([: -.&a: <;._2@,~) > > that should be faster as well in that $: is an extra call that probably > includes edge cases that interfere with f. > > An even more elegant workaround though is: > > mdef =: 2 : 'n&u : u' NB. monad default parameter n to dyad u > > cut =: ([: -.&a: <;._2@,~) mdef ' ' NB. same result as tacit AC modifier > above. > > > "explicit junk boilerplate" now removed. > > , 1 : ' u@cut f.' > > ,@(' '&([: -.&a: <;._2@,~) :([: -.&a: <;._2@,~)) > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm