BSD-3-Clause licensed by Ryan R. Newton
Maintained by [email protected]
This version can be pinned in stack with:abstract-deque-0.3@sha256:308bff92bb8b6621ed1dae718e859da145c8f31b8a9050aeacac40a8a21c9c90,2565
Used by 3 packages in nightly-2024-12-18(full list with versions):

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, threadsafe, growable queues

... with important points inbetween (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.