I think that the problem here would be in defining vu to work in your examples.

If you could do that, I think you would have something.

Without that, though, we would need a different approach.

Thanks,

-- 
Raul

On Mon, Jul 26, 2021 at 3:57 PM Elijah Stone <[email protected]> wrote:
>
> 'Structural under' is an extension to under (&. &.:) that allows it to
> operate on otherwise uninvertible structure-changing verbs.  It is
> implemented in dzaima/apl (https://github.com/dzaima/APL/).
>
> For example:
>
>     -&.{. 1 2 3 4  NB. take the head, negate it, reaffix it to the rest of
> the body
> _1 2 3 4
>     }:&.}. 1 2 3 4 NB. remove the head, remove the tail, and then sew the
> head back on
> 1 2 3
>     |:&.}. i.4 3   NB. remove the head, transpose the body, and then
> reattach the head
> 1 2  3
> 3 6  9
> 4 7 10
> 5 8 11
>    |.&., i.2 3     NB. ravel, reverse, and then unravel
> 5 4 3
> 2 1 0
>
> To make this functionality available to users, I suggest using .: for
> 'assign under', by analogy to :. and ::.  Then:
>
>    u&.:(v .: vu) y  ←→  vu y;u v y.
> x u&.:(v .: vu) y  ←→  vu x;y;(v x) u v y
>
> The reason that vu is only applied monadically is to allow for the
> expected identity:
>
> u&.:(m&(v .: vu)) y ←→ m vu y;u v y
>
> Thoughts?
>
>   -E
> ----------------------------------------------------------------------
> 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