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

Reply via email to