spd5=: 4 : 0
,./ s $ (*/s=. x,>.(#y)%x){.y
)
spdj=: [: ,./ ([ , >.@(%~#)) ([ $ */@[ {. ]) ]
----- Original Message -----
From: Ralph G Selfridge <[EMAIL PROTECTED]>
Date: Sunday, February 18, 2007 6:08 pm
Subject: Re: [Jprogramming] Style and Literacy in APL
> I beg to differ. Take spdj. I copied it as given (I hope).
> Now 5 spdj i.7 4 returns (for me)
>
> 0 1 2 3 8 9 10 11 16 17 18 19 24 25 26 27
> 4 5 6 7 12 13 14 15 20 21 22 23 0 0 0 0
>
> Surely the correct answer is
> 0 1 2 3 8 9 10 11 16 17 18 19 24 25 26 27 0 0 0 0
> 4 5 6 7 12 13 14 15 20 21 22 23 0 0 0 0 0 0 0 0
>
> In the original paper the width has to be multiplied by 5, and
> if you copy their (bad) APL function that is what happens.
>
> I have an APL function (might be like that in the paper, nice one-
> liner),
> haven't tried to get it into J, mostly because I want to see if I
> goofed in
> my copy of spdj
>
> I also agree that figuring out what the function is meant to do is
> not the
> easiest. I ended up direct copy of the (bad) function and trying
> it out.
>
> Ralph S
>
> On Sun, 18 Feb 2007, Roger Hui wrote:
>
> > Various translations going from most literal
> > to most J-like:
> >
> > spdj=: [: ,./ -@>.@(%~#) ]\ ]
> >
> > spd: literal translation of original APL
> > spd1: use better names and exploit features
> > available in some APLs (e.g. SHARP APL)
> > spd2: bypass having to deal with the # of columns
> > spd3: another way to bypass the # of columns
> > spd4: exploit ,./ and $
> > spdj: most J-like version
> >
> > What I most dislike about the original APL version
> > is its lack of a good example. For example, from
> >
> > 3 spd > ;: 'able baker charlie dog echo fred gamma ham india
> jam ken lambda michael'
> > able fred ken
> > baker gamma lambda
> > charlieham michael
> > dog india
> > echo jam
> >
> > I would have known immediately what the function
> > was trying to achieve.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm