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
