1. x v} y is NOT equivalent to x [`v`]} y.  The difference is that the former treats the result of the verb as atom numbers, the latter as item numbers.  Different parts of the array are being modified if items are not atoms, i. e. if rank>1.

2. Already in x gerund} y you have the possibility that v1 can return another gerund in the execution of (x v0 y) (x v1 y)} x v2 y.  For the record, I wanted to disallow this frivolity with a message '0C3 abend', but was shouted down by users.

3. Enhancements to x v} y should not be expected.

Henry Rich

On 7/3/2019 10:34 AM, Raul Miller wrote:
Note also that if V is a verb which selects indices, X is new values
and Y is an array to merge, then:

    X V} Y
is equivalent to
    X [`V`]} Y
or to
    X [`(V)`]} Y

It's not as concise, though. And, hypothetically, we might like to have:

merge=:2 :0
:
    G=. X V Y
    X G} Y
)

instead (in other words, it might be nice if X V} Y would have V
compute a gerund to be consumed by the } conjunction).

That said, since a gerund is never indices, I imagine that if we had a
use for this form, we could achieve that without having to sacrifice
the current behavior...

Thanks,



---
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

Reply via email to