This is not something that I changed knowingly.  The argument names are all stacked by value rather than by name, because it would be chaos if 'u' were stacked and then a subroutine called, which implicitly changes the value of u.  For these few names that are always stacked by value, it is a value error if the name is undefined.

u. and v. are different, being references to the names u and v.

Henry Rich

On 9/17/2021 7:48 PM, Raul Miller wrote:
Interestingly, this only applies to undotted argument names:

    1+m
|value error
|   1+    m
    1+n
|value error
|   1+    n
    1+u
|value error
|   1+    u
    1+u.
1 + u.
    1+v
|value error
|   1+    v
    1+v.
1 + v.
    1+x
|value error
|   1+    x
    1+y
|value error
|   1+    y

That said, ... I would guess that this is a consequence of the
extensive changes to name handling required by j903's implementation
of namerefs.

FYI,



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