" 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