I would like to propose an extension to dyad A. Specifically, I would like
dyad A. to interpret left-arguments in a way similar
to |. and {. , where each atom of x corresponds to an axis of y .
For example, with the new definition, the phrase (0
_1 A. i. 4 5) would reverse the columns of y, yielding the same results as
(_1 A.&.|: i. 4 5) does with the current definition.
Similar statements apply to higher dimensions; I can post a model (using |:)
if that's helpful.
Of course, right now, the ranks of dyad A. are 0 _ . The new definition
of A. would require them to be 1 _ , so
extension is not backwards compatible. But because of the way A. is
typically used, I doubt it would break much code in practice.
Furthermore, the fix is trivial; substitute A."_ 0 _ for all uses of A.
I believe the extension would be useful; more and more I find myself wanting
direct access non-leading axes of an array, and I now
make heavy use of (boxes <;.n y), (list {. y), (list |. y) etc. This
extension to A. would make a nice companion to another
proposal I made:
http://www.jsoftware.com/jwiki/System/Interpreter/Requests#redefineu.3B.0y .
-Dan
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm