'' +  ( :: ('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

Reply via email to