'' + ( :: ('a' assign 3: [ ])) a=: 0
You are executing the verb against a cell of fills. When the execution
of a verb on a fill-cell fails, the error is quietly ignored, and a
result of scalar 0 is used to give the shape/type of the result. Here,
the error in u causes v not to be executed.
Offhand, this seems questionable: if u fails when u :: v is executed, it
seems hasty to assume a default shape without executing v. But that
apparently is what happens.
' ' + ( :: ('a' assign 3: [ ])) a=: 0
3
a
3
Here you are executing on a real domain error, and the error path is
executed.
Henry Rich
On 9/14/2013 11:50 AM, Pascal Jasmin wrote:
'' + ( :: ('a' assign 3: [ ])) a
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm