That's certainly an improvement, though there are still
2 problems:

0) That tender-mercies problem, which violates the J principle that
numbers are numbers, whether they be boolean, integer, etc.
May I suggest that instead of

>./ types

you code

3&(22 b.) >./ 3&(22 b.) types

[BTW, m&(22 b.) could be self-inverse.]

1) The incompatibility with ,  .  x ;@,&< y   really should,
methinks, always be the same as  x , y  .  The change makes
it closer but still not the same.  I would be content if
both of them worked as described in (0) above.

[BTW, Mark's hand-coded raze =: >@(,&.>/)@,   is not an
accurate model of ; .  ; is tricky to model because of the
treatment of scalars and dissimilar ranks, and I view ;
as the primitive operation from which , is derived.  I
take it from comments made in the past that my view is not
universal, but I find it easier to describe the verbs that
way, and it's one reason why I would really like , to
be identical to ;@,&<  .

Henry Rich

> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of Roger Hui
> Sent: Monday, October 15, 2007 10:29 AM
> To: Programming forum
> Subject: Re: [Jprogramming] inverted table ifa
> 
> The problem with ifa comes down to the result of
>    > '';''
> which is currently an empty Boolean array.  
> I have changed the implementation of the monad > 
> for the next J602 beta such that if all the opened 
> atoms of the argument are empty, then the type of the 
> result is the maxtype of the types of the opened atoms. 
> Consequently, if the combinations of these types are
> reasonable (such as in '';'' or (0$0);0$0.5), then the 
> result type is reasonable; if not, then you are at the 
> tender mercies of maxtype.  (Which, among other
> things, depends on the idiosyncratic numbering
> of the internal types.)
> 
> 
> 
> ----- Original Message -----
> From: bill lam <[EMAIL PROTECTED]>
> Date: Monday, October 15, 2007 6:58
> Subject: Re: [Jprogramming] inverted table ifa
> To: Programming forum <[email protected]>
> 
> > Roger Hui wrote:
> > > So what should be the result of the following and why?
> > >    > (3 0$0 );(0 4$'')
> > >    > (4 0$'');(3 0$0 )
> > 
> > There ain't such thing in the context of inverted table. I 
> > wasn't asking 
> > theoretical question. A practical scenario is importing data 
> > from excel having 2 
> > columns for code and descriptions such as,
> >    code  descr
> >    A     aaa
> >    B     bbbbbb
> >    C     cccccccccc
> > They are read into rank-2 box text array and then converted into 
> > inverted table 
> > for processing. The description cell may be very long and it may 
> > need to limit 
> > to a certain length, so that {. is needed, say
> >    descr=. 10{. 1{:: ivt
> > 
> > Someone may not fill anything in an entire text column inside 
> > excel.  I think 
> > that Henry's suggestion works for me.
> >     < 6{.(!.' ')("1) 1{:: ifa 3 2$ 'ab';''
> > +------+
> > |      |
> > |      |
> > |      |
> > +------+
> > Thanks to Henry for workaround suggestion and Roger for response.
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
> 

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

Reply via email to