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

Reply via email to