bill lam wrote:
>  What is the current behavior for [email protected] or [email protected]  if n or result of v is
>  non-scalar (also non-box)?

It's different for  [email protected]  and  [email protected]  if the result of v is non-scalar (the
topic of this thread).  

For  [email protected]  with open (non-boxed)  n  the result is effectively  (n { m)`:6 
, ie the list of gerunds  n  is selected from  m  and executed to produce
a train.  If  [email protected]  has an argument or two then the train is applied to
(or between) those arguments.

For  [email protected]  if the result if  v  is non-scalar, an error is raised.  Pepe
and I proposed this error be replaced by the identity  [email protected] y  <-->  m...@.(v
y) y  (hence the same as  [email protected] y  )  and analogously for  x [email protected] y  .  

Roger seems to think the idea has merit.

-Dan

PS:  There is also a useful definition for  [email protected]  where  n  is boxed. 
Effectively the train produced is parenthesized according to the boxing. 
I made use of this obscure feature in my "tacit evoke" tool.  

If you're interested in how   @.(boxes)  is useful, see my message that
Jose quotes at the bottom of  
http://www.jsoftware.com/pipermail/general/2009-August/033224.html  (I
can't link to the original message because it was truncated).  If you want
to see the actual implementation, the script itself is at   
http://www.jsoftware.com/svn/DanBron/trunk/environment/anonymous_evoke2.ijs
 .


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

Reply via email to