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"><<a href="mailto:fox@ucw.cz" target="_blank">fox@ucw.cz</a>></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't know about it already, Criterion is an excellent benchmarking library. We'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 'classic' 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'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>