The extension can be more readily accommodated (i.e., 
with backward compatibility) if the left argument were boxed.
Likewise, if we were designing from scratch (which we are not),
we would be tempted to box the left arguments of the dyads |.  {. }. .



----- Original Message -----
From: Dan Bron <[email protected]>
Date: Wednesday, December 16, 2009 9:59
Subject: [Jprogramming] Proposed extension to A. (incompatible)
To: 'Programming forum' <[email protected]>

> 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  .
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to