Hi GordonBGood and welcome to Rosetta code :-)

I wonder if you would consider putting your longer comments on efficiency in a new section of the tasks comments page? You could then refer to your argument succinctly from the task page as you add your code. The RC task pages are normally kept discussion-light, (and a few pages have more interesting discussion pages, such as algorithms and performance on Talk:Knight's tour for example). --Paddy3118 (talk) 05:42, 23 June 2014 (UTC)

Sorry, I had only read a few discussions and was modelling my comments on others I saw on the pages to which I contributed. I won't go back and change my contributions except for the last, but I will do as you suggest for any new longer comments.--GordonBGood (talk) 13:22, 23 June 2014 (UTC)
Ta. --Paddy3118 (talk) 14:08, 23 June 2014 (UTC)

Sieve of Eratosthenes - Haskell.

Hi, I've reverted back most of the previous stuff there. Much careful thought went into the gradual presentation; no function was missing. If you could discuss your future Haskell changes first on the talk page of that article, I'd appreciate it; please ping me on SO if I'm unresponsive here on Rosettacode. I'm going to add more explanation for the reasons for my edit on the article's talk page shortly. Thanks, -- WillNess (talk) 14:00, 10 April 2015 (UTC)

please see the discussion in the talk page. -- WillNess (talk) 14:18, 10 April 2015 (UTC)
what I meant was, if you're going to change the existing code, then please if possible discuss it first on the talk page; you should of course feel free to add any new code as you please. :) Thanks. -- WillNess (talk) 14:40, 10 April 2015 (UTC)
I very much hope I haven't caused any hard feelings. :) WillNess (talk) 22:17, 10 April 2015 (UTC)

Priority queue implementation

In case you missed it, you can see exactly what PQ implementation was used in the article, in http://www.cs.hmc.edu/~oneill/code/haskell-primes.zip. Also, the code in the ZIP is optimized compared to the article, using "hybrid queue" for the second feed, IIRC. WillNess (talk) 10:43, 30 April 2015 (UTC)

Thanks for the link, Will. I had found the implementation of the PriorityQ, including the HybridQ in one of your ideone entries, but not the original source for "PriorityQ.hs"; BTW, I had seen the minor slip-up in the implementation of PriorityQ (forgetting to reverse the order of the left and right branches in one place), which would only affect deletions as the original algorithm does not use and therefore would not affect its primes generation. My improved entry does not use HybridQ as it seems to be an alternate method of compensating for the over-eagerness of adding primes, nor do I use the SPECIALIZE'ations to compensate for the various numeric ranges required, as the method as you use in your second "Unbounded" entry seems so much cleaner. My entry uses some fusion to avoid list processing, but there are likely other optimizations that could be used; my point is not really that this is the fastest way to implement a Priority Queue version but to show that it is relatively clean and easy to avoid over-eager primes adding and excessive list processing.