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
