Pascal, The most important thing I learned/remembered from your reply is that your lfold is an adverb (that happens to be constructed from a pair of adverbs in an adverb train). That helped me understand that Raul's lfold is an adverb, too, but defined explicitly, where yours is defined implicitly. And since Raul defined his explicitly, he was required to use `u` instead of `v` . So that registers for me. Right?
So let's (re)name the adverbs as follows. And the mock session excerpt below is meant to demonstrate that they produce the same result. lfoldR =: {{ ]F..(u~) }} lfoldP =: ~(] F..) NB. Adverb train NB. (It's a little odd that `~` appears on the right NB. of u in Raul's fold, but as the left adverb in NB. your adverb train. But that works for me.) lfoldP =: ~(] F..) state move lfoldP moves NB. ┌─┬─┬────┐ NB. │C│M│PDNZ│ NB. └─┴─┴────┘ lfoldR=: {{ ]F..(u~) }} state move lfoldR moves NB. ┌─┬─┬────┐ NB. │C│M│PDNZ│ NB. └─┴─┴────┘ *Many thanks to you and to Raul and Henry*, On Tue, Dec 6, 2022 at 7:56 PM 'Pascal Jasmin' via Programming < programm...@jsoftware.com> wrote: > To clarify, > > A conjunction F.. in this case, is documented according to the same > explicit defintion: either 2 : 'u F.. v' or {{u F.. v}} > > In the above explicit definitions u is left argument to F.. v is right > argument. > > lfold is an adverb. Has just one left argument u. That adverb will place > its u argument in "the v position" of F.. > > a tacit versions of lfold > > lfold =: ~(] F..) NB. Adverb train > > for easier display > > - ~(+: @:) > > +:@:(-~) > > 2 - ~(+: @:)3 > > 2 > > +: 2 -~ 3 > > 2 > > > > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm