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