Ticket #61 (new proposed-project)

Opened 6 years ago

Last modified 6 years ago

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@…>

Change History

Changed 6 years ago by cmarcelo

  • description modified (diff)

Changed 6 years ago by paolo

  • description modified (diff)

Changed 6 years ago by paolo

  • keywords Pugs added

Changed 6 years ago by autrijus@…

  • description modified (diff)

Changed 6 years ago by paolo

  • topic changed from misc to Pugs

Changed 6 years ago by Daveman

  • description modified (diff)
Note: See TracTickets for help on using tickets.