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