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