Hi Milan,<br><br>That sounds like a great projects. Some thoughts/comment to each of the points in your list.<br><br><div class="gmail_quote">On Wed, Mar 3, 2010 at 3:23 PM, Milan Straka <span dir="ltr">&lt;<a href="mailto:fox@ucw.cz" target="_blank">fox@ucw.cz</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi all,<br>
<br>
I have started an internship in Cambridge and will spend 3 months on<br>
Haskell. One of the possible projects is improving the containers<br>
library. Things I am thinking about:<br>
- measuring the performance of existing implementations (notably Map and<br>
  Set) and possibly improve them (either without or with API changes),<br></blockquote><div><br>In case you didn&#39;t know about it already, Criterion is an excellent benchmarking library. We&#39;ve been using it extensively when benchmarking the event library. You can find some example benchmarks for a priority search queue at:<br>

<br>  <a href="http://github.com/tibbe/event/blob/master/benchmarks/PSQ.hs" target="_blank">http://github.com/tibbe/event/blob/master/benchmarks/PSQ.hs</a><br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


- adding Queue and a PriorityQueue,<br>
- maybe adding a generalized trie,<br>
- maybe adding a hashtable (more like a trie of the hashes, something in<br>
  the line of Ideal hash trees; and maybe a &#39;classic&#39; hash modifiable in<br>
  the ST monad?)<br></blockquote><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I would be grateful for any comments, thoughts or wishes.<br></blockquote><div><br>Something I&#39;ve been thinking about lately is how a containers
library using associate data types would look like. Perhaps it would be
interesting to investigate that as well.  
<br><br>-- Johan<br><br>
</div></div>