Ticket #61 (new proposed-project)
Pugs - Fast Mutable Collection Types.
| Reported by: | autrijus@… | Owned by: | none |
|---|---|---|---|
| Priority: | Keywords: | Pugs | |
| Cc: | Topic: | Pugs | |
| Difficulty: | 2 people, 2 weeks | Mentor: | not-accepted |
Description (last modified by Daveman) (diff)
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) <audreyt@…>
Interested Students
- Caio Marcelo (cmarcelo) <cmarcelo@…>
- David Buchman (daveman) <david.buchman@…>
