ghc-abstract-deque 0.3 Abstract, parameterized interface to mutable Deques for Haskell

This Haskell package provides an abstract interface to highly-parameterizable queues/deques.

Background: There exists a feature space for queues that extends between:

  • Simple, single-ended, non-concurrent, bounded queues

  • Double-ended, thread-safe, growable queues with important points in between (such as the queues used for work stealing).

This package includes an interface for Deques that allows the programmer to use a single API for all of the above, while using the type system to select an efficient implementation given the requirements (using type families).

This package also includes a simple reference implementation based on IORef and Data.Sequence.