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
