Hi, sorry let me try to clarify and give my own use case.

I'm looking for a function which takes a gerund on the left and applies the
gerund's verbs one by one monadically from right to left to the right
argument, (with no rank modifications to the verbs).

My use case is that I'm implementing red-black trees and I want to get the
grandparent of some node (with a view to perform a red-black property
preserving repair modification). The structure of a tree is a list of 5
boxes. left-subtree;key;value; colour;right-subtree. To get the
grandparent, my plan is to search for the node, recording the functions
called (either {. {: representing descent into the left/right subtree) into
a gerund. Then I planned to simply chop off the last two descents and that
would give me a route to the grandparent, whose subtree I would get by
simply gerundCompose-ing my truncated gerund-path into the original tree.

I'm not at my computer right now, but the verb call I'm looking for would
be like:

'(]`{.`{:`{:) gerundCompose tree'

So I'd want that to give the same result as '] @: {. @: {: @: {: tree'

I've had a half-idea. If g is |. applied to the gerund then what I want is
the same as:

"(g@.0) @: (g@.1) @: (g@.2) @: ... @: (g@.<:@:# g) tree"

So pretty much the J legal equivalent to '@:/' on a gerund - that's would
be what I'm looking for.

Rob
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to