On Sat, Jan 12, 2013 at 11:41 PM, Jose Mario Quintana
>> It's arguably a bug because [something seems to be missing here].  That 
>> said, there are two possible ways the bug can be identified:

It's arguably a bug because it gives two different results for
otherwise equivalent operations. And, because this distinction is not
supported by anything in the dictionary.

>> a) It's a bug because the result of +:@*: d. 1 has infinite rank while
>> the dictionary says that +:@*: is being treated as if it has zero rank
>
>> b) It's a bug because we should never use the result of d. at any rank
>> other than 0.
>
> My simple minded guess is that the implementation of d. regarding (@)
> and (@:) works reasonably well, although the rank change from 0 to _
> seems arbitrary, but it stumbles for (at) and ([:),

I have no idea what "works reasonably well" means.

But consider also:

AT=: 2 :0
  u@v"v
)

   +:AT*: d. 1
0 4x&p."0 0 0
   +:@*: d. 1
0 4x&p.

In both cases the rank of the left argument of d. is the same.  So
what we see here is that the rank of the result of d. depends on
something other than the rank of its arguments. Have you found any
documentation that describes the rank of the results of the d.
conjunction?

-- 
Raul
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to