so L:_2 would be "one level down from top level". Its not quite the same as "double each"
$&.>&.> t ┌──┬───────┐ │┌┐│┌─┬─┬─┐│ │││││3│2│2││ │└┘│└─┴─┴─┘│ └──┴───────┘ I would verbalize that as "at -2 levels or operate on null" regarding: " if there is an appropriate "-2" level then apply there, else apply at maximum depth." that feels like the current interpretation, and certainly if I have an urge to apply the above heuristic, then L:_2 is what I would try. It would be enlightening to all of us (or just me) if someone could point out an exception to the heuristic, or provide a more accurate one. I'd say my biggest point is that if you want a version of L: (and I think such a version is very useful) that leaves "levels" unchanged/unprocessed if they do not exist, then something like L:: (a new definition) is worthwhile. On Sunday, July 29, 2018, 5:29:57 p.m. EDT, Henry Rich <[email protected]> wrote: " if there is an appropriate "-3" level then apply there, else apply at maximum depth." As a rule describing current behavior, this is wrong. It suffers from a couple of undefined terms: (1) what is -3 level? (2) what is maximum depth? If -3 level means "3 levels down from the top" (or equivalently "enclosed by 3 boxes"), it has a more serious problem: the system doesn't do that currently. Henry Rich On 7/29/2018 5:22 PM, 'Pascal Jasmin' via Programming wrote: > > From your wiki entry, this is the current behaviout: > > $L:_3 t > > ┌─┬─────────────┐ > > │1│┌───────┬─┬─┐│ > > │ ││┌─┬─┬─┐│2│2││ > > │ │││3│1│2││ │ ││ > > │ ││└─┴─┴─┘│ │ ││ > > │ │└───────┴─┴─┘│ > > └─┴─────────────┘ > > which is quite reasonable: " if there is an appropriate "-3" level then apply > there, else apply at maximum depth." > > The behaviour to leave unchanged if "no such level exists" is useful, but > perhaps a new primitive "L::" would be the appropriate path. > > L::2 would also leave items that do not have such depth unchanged. > > There doesn't seem to be a "magic reason" for negative n argument to have > different behaviour. > > > > On Saturday, July 28, 2018, 7:42:39 p.m. EDT, Henry Rich > <[email protected]> wrote: > > > > > > L:, especially the dyad, is so complicated already that it's not worth > changing if complex arguments are needed. > > It would be pretty simple to look through your code for for L:_, > wouldn't it? Do you have more than one occurrence? Could you replace > the level with a positive constant or a negative constant under the new > definition? > > As you well know, J has a history of making incompatible changes if they > are improvements to the language. > > Henry Rich > > On 7/28/2018 7:11 PM, Jose Mario Quintana wrote: >> I have, at least, produced code which includes L:_1 in a context in which >> it is not equivalent to &.>. >> >> Have you considered to get what you want without potentially breaking >> existing code (e.g., giving meaning to imaginary whole numbers for the >> right argument of L:)? >> >> (It seems that you wrote L" instead of L: a couple of times in the >> description of your proposal.) >> >> On Fri, Jul 27, 2018 at 3:29 PM, Henry Rich <[email protected]> wrote: >> >>> I think negative level is wrongly defined. (u L:(-r) y) applies u at >>> level ((L. y) -r), which measures from the bottom of the tree. What I want >>> is a form that applies u two levels down, say, which I can't get now. I >>> propose to change L: to do what I want. >>> >>> Has anyone found a use for L:(-r) using the current definition? >>> >>> My proposed change is described at https://code.jsoftware.com/wik >>> i/System/Interpreter/Requests#Change_definition_of_negative_ >>> level_.28strawman.29 >>> >>> Henry Rich >>> >>> --- >>> This email has been checked for viruses by AVG. >>> https://www.avg.com >>> >>> ---------------------------------------------------------------------- >>> For information about J forums see http://www.jsoftware.com/forums.htm >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
