I don't get how to parse

 1&:>&;:


I think it is (1&:>)&;: , but that is just as confusing since I assume you are 
unboxing into a list rather than testing if smaller than 1.


----- Original Message -----
From: Raul Miller <[email protected]>
To: Programming forum <[email protected]>
Cc: 
Sent: Sunday, October 27, 2013 10:41:18 AM
Subject: Re: [Jprogramming] a more useful i. ?

I am wondering if a "coerce items (rank specified by n) to equal shape
while executing dyad u" conjunction would be worthwhile.

Perhaps, as a model:

coer=:2 :0
:
  nounR=. x ,&#&$ y
  verbR=. _2 {. n,n
  choice=. 0 <: verbR
  itemR=. (choice*nounR<.verbR) + (-.choice)*0>.nounR-verbR
  cellS=. x >.&((->./itemR)&{.)&$ y
  xShape=. ((-#cellS)}.$x),cellS
  yShape=. ((-#cellS)}.$y),cellS
  (xShape{.x) u yShape{.y
)

(clearly, most of this implementation is names, but since it's just a
model I'm not concerned about that.)

Example use:
  'this is a test' ;&$ coer 1&:>&;: 'and this is yet another test'

Note that while the conjunction right argument of coer can take the
same kind of value as that of " (the rank conjunction), coer does not
actually impose any rank on its left argument (;&$ in this case).

And, yes, for some readers it might seem like I am babbling nonsense.
If that is the boat you are stuck in, maybe try it out and see if you
can make sense of what I've written here. (That, or ignore me.)

Thanks,

-- 
Raul


On Sun, Oct 27, 2013 at 10:04 AM, Pascal Jasmin <[email protected]> wrote:
> maybe this seems a little more useful:
>
>    ( > ;:'zero one two five one') (I { 'not found' ,~ [) > ;:'three one four 
>one five nine'
> not found
> one
> not found
> one
> five
> not found
>
> It was also my question whether I is the right approach to doing such things, 
> but it seems like boxing variable length strings makes i. i: and = much more 
> straightforward.
>
>
>
> ----- Original Message -----
> From: Linda Alvord <[email protected]>
> To: [email protected]
> Cc:
> Sent: Sunday, October 27, 2013 2:13:16 AM
> Subject: Re: [Jprogramming] a more useful i. ?
>
> Is this useful or can it be done some other way more efficiently?
>
>    x
> zero
> one
> two
> five
> one
>    y
> three
> one
> four
> one
> five
> nine
>    (x I y){y
> nine
> one
> nine
> one
> one
> nine
>
> Linda
>
>
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Pascal Jasmin
> Sent: Saturday, October 26, 2013 9:49 PM
> To: [email protected]
> Subject: Re: [Jprogramming] a more useful i. ?
>
> In this structure,
>
> 'aa',~'asdf',:'asd'
>
> how would you recommend finding the row (or first row) with 'aa  ' in it,
> knowing only that 'aa' is what you are searching for?
>
>
> This works:
>    'aa' I~ 'aa',~'asdf',:'asd'
> 2
>
> I guess that is what its for :)
>
> some timings though:
>
> a =. (<'aa') ,~ (? 1e5 $ 26) <@:$"0 1 (65+i.26) { a. NB. boxed
>
>
>    10 ts '(<''ABC'') i.~ a'
>
> 312499/sec 0.002304MB
>    10 ts '(<''ABD'') i.~ a' NB. not found 243.847/sec 0.002304MB
>    10 ts '(<''aa'') i.~ a' NB. last to find 206.336/sec 0.002304MB
>    10 ts '(<''ABC'') i:~ a'
> 416666/sec 0.002304MB
>
> a2 =. 'aa' ,~ (? 1e5 $ 26) $"0 1 (65+i.26) { a.  NB. padded strings unboxed
>
>
>    10 ts '(''ABC'') I~ a2'
> 99.3004/sec 6.29952MB
>    10 ts '(''ABD'') I~ a2'
> 99.7279/sec 6.29952MB
>    10 ts '(''aa'') I~ a2'
> 101.727/sec 6.29952MB
>
>
>
> ________________________________
> From: Roger Hui <[email protected]>
> To: Programming forum <[email protected]>
> Sent: Wednesday, October 23, 2013 4:28:52 PM
> Subject: Re: [Jprogramming] a more useful i. ?
>
>
> It is much more efficient in time and space to eschew boxing within a
> column.
>
>
>
> On Wed, Oct 23, 2013 at 2:23 PM, Pascal Jasmin
> <[email protected]>wrote:
>
>> I find that using boxed strings in inverted tables avoids a whole series
>> of issues that occur if you let J fill short strings with pads until they
>> match length to whatever the longest string is.
>>
>> I don't really know how much it slows down things by doing it that way,
>> but the approach can fix i. by comparing to boxed values.  I definitely
>> don't have an exhaustive list of things that seem harder without boxing
>> first, but there is probably more than just i.
>>
>>
>> ________________________________
>> From: Roger Hui <[email protected]>
>> To: Programming forum <[email protected]>
>> Sent: Wednesday, October 23, 2013 4:53:34 PM
>> Subject: Re: [Jprogramming] a more useful i. ?
>>
>>
>> Thanks.  I had not intended to promote rank-deficient arguments.  I
>> probably want to disallow that.
>>
>> One effect would be to make
>> http://www.jsoftware.com/jwiki/Essays/Inverted_Table#Index_of more
>> immediately useful: If you have to do the overtake yourself for one table,
>> it's tolerable; if you have to do it on some subset of columns (and you
>> don't know ahead of time which ones), it's a big mess.  Basically in
>>
>>    tindexof=: i.&>~@[ i.&|: i.&>
>>
>> you'd replace the i. in the left and right tines with the I verb that I
>> defined.
>>
>>
>>
>>
>> On Wed, Oct 23, 2013 at 1:45 PM, Henry Rich <[email protected]> wrote:
>>
>> > Seems reasonable.  This would also promote atoms to match rows of
> tables.
>> >  I've never needed it.
>> >
>> > Henry Rich
>> >
>> >
>> > On 10/23/2013 4:28 PM, Roger Hui wrote:
>> >
>> >> Thought experiment:  What if i. does overtake on the arguments to
> ensure
>> >> that the item shape of the left argument matches the cell shape of the
>> >> right argument?
>> >>
>> >>     I=: 4 : '(s{."c x) i. (s{."c y) [ s=. (}.$x)>.(-c=. <:$$x){.$y'
>> >>     x=: > ;:'zero one two five one'
>> >>     y=: > ;:'three one four one five nine'
>> >>
>> >>     $x
>> >> 5 4
>> >>     $y
>> >> 6 5
>> >>
>> >>     x i. y
>> >> 5 5 5 5 5 5
>> >>     x I y
>> >> 5 1 5 1 3 5
>> >> ------------------------------**------------------------------**
>> >> ----------
>> >> For information about J forums see
>> http://www.jsoftware.com/**forums.htm<http://www.jsoftware.com/forums.htm>
>
>>
>> >>
>> >>  ------------------------------**------------------------------**
>> > ----------
>> > For information about J forums see http://www.jsoftware.com/**forums.htm
>> <http://www.jsoftware.com/forums.htm>

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