id,summary,reporter,owner,description,type,status,priority,resolution,keywords,cc,topic,difficulty,mentor
61,Pugs - Fast Mutable Collection Types.,autrijus@…,none,"Currently, Haskell lacks production-grade bindings for mutable data structures, and has to rely on immutable data structures for storage.

For example, a sparse mutable array may be emulated by (IORef !IntMap), and a mutable set may be emulated by (IORef Set).  However, these data structures have to be reconstructed almost from scratch for each insertion/deletions, resulting in low performance.

The Pugs project implements Perl 6 on top of Haskell; we would need fast implementations for mutable sparse array, mutable ordered mappings, mutable resizable byte-buffers, as well as mutable string-indexed Hash tables.

One approach is to write a binding to Judy (judy.sf.net) or other C-based libraries, and present an API conformant to the existing Haskell libraries (e.g. MArray).

The result of this effort will be reusable to other Haskell projects as well.


== Interested Mentors ==
 * Audrey Tang (audreyt) <[mailto:audreyt@audreyt.org]>

== Interested Students ==
 * Caio Marcelo (cmarcelo) <[mailto:cmarcelo@gmail.com]>
 * David Buchman (daveman) <[mailto:david.buchman@gmail.com]>",proposed-project,new,,,Pugs,,Pugs,"2 people, 2 weeks",not-accepted
