> Just for fun, I wrote a function header as I would have if > this were a verb in my library: > > NB. Monad. Calculate the list of primes less than y+2
It's very unusual to write a verb to calculate the primes less than y+2 . More likely would be, less than y, or less than or equal to y . ----- Original Message ----- From: Henry Rich <[EMAIL PROTECTED]> Date: Friday, April 4, 2008 18:44 Subject: RE: [Jgeneral] How readable is J? To: 'General forum' <[email protected]> > I don't disagree with what you say. > > Dan seemed to be saying, Can we read J without the > interpreter, rather than, Can we write readable code? > > In my own code I have about 4 lines of comments per line of code > on the average. IMO the readability comes from good design > and good commenting. > > But in the spirit of Dan's post, you have asked a good question: > why the |. ? There is one performance reason and one functional > reason. > > And, -.~ here does not do list-.table, but is repeated > list-.list . > > Just for fun, I wrote a function header as I would have if > this were a verb in my library: > > NB. Monad. Calculate the list of primes less than y+2 > NB. y is a scalar > NB. Result is the list of primes < y+2, in ascending order > NB. We create the list 1..y+1; then we reverse the list to get > NB. y+1..1, and create the multiplication table of that with the > NB. list 2..y+2. The last item of the table is the list > NB. of candidate primes, and the other items of the table > NB. are multiples of those numbers. We then remove each > NB. set of multiples from the list of candidates. This is a > NB. sieve but we are sieving with all multiples, not just > NB. multiples of primes. > NB. > NB. The table goes from big numbers to small numbers so that > NB. the list of candidates is thinned out as quickly as > NB. possible. > > Henry Rich > > > -----Original Message----- > > From: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] On Behalf Of John Randall > > Sent: Friday, April 04, 2008 9:19 PM > > To: General forum > > Subject: RE: [Jgeneral] How readable is J? > > > > Henry Rich wrote: > > > -.~/@(|. */ >:)@:>:@:i. > > > > > > > This is obviously a shorter solution to the problem, but I > > would argue it > > is less readable than Dan's original posting, even though it > > is readable > > in the broader sense. > > > > I tend to favor @: over unbroken trains, and I think that > > helps in your > > posting. There are a couple of points that will throw a > reader.> > > 1. We are calculating all products of a list with > itself. The |. is > > obviously lining them up in some order, but why? > > > > 2. While using -. is good, I bet most readers do not know the > > ranks (0 _ > > _) and then (list)-.(table) could be anyone's guess. > > > > I think Dan's original question was not completely > formed. If you are > > talking about readability, you need to know the > audience. I > > believe the > > important audience is intermediate J users, who can write explicit > > functions and do some simple tacit programming, and who want > to get > > further. > > > > Best wishes, > > > > John ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
