Two new packages have been uploaded to Hackage,  one that implements bag (multiset) and set operations on ordered lists,  and another that offers three different number theoretic sieves.<br><br><a href="http://hackage.haskell.org/package/data-ordlist">http://hackage.haskell.org/package/data-ordlist</a><br>
<br>Data.OrdList offers many of the same kinds of operations as Data.Set,  although Data.Set is likely to often be a better choice.   However,  this library is not intended to be used as an abstract datatype for sets and multisets,   rather it is intended to be a convenient way for efficiently dealing with lists that you happen to know are ordered.   It includes operations such as union,  merge,  exclusive union, intersection, and difference.    Also notable is that it includes nub on ordered lists,  as well as sortOn and nubSort functions.<br>
<br><a href="http://hackage.haskell.org/package/NumberSieves">http://hackage.haskell.org/package/NumberSieves</a><br><br>NumberSieves includes the Sieve of O&#39;Neill,  from &quot;The Geniune Sieve of Eratosthenes&quot; by Melissa O&#39;Neill,    which offers an incremental primality sieve based on priority queues.     Also included are two array-based generalizations of the Sieve of Eratosthenes.   The first sieves a prime divisor for each number in the sieve, which is useful if you want to factor a large quantity of small numbers.    The second sieves Euler&#39;s totient,  useful if you want to calculate the phi function for a large quantity of small numbers.<br>
<br><br>Best,<br>Leon<br>