@hackage abstract-deque0.3
Abstract, parameterized interface to mutable Deques.
Installation
Dependencies (6)
- array
- atomic-primops >=0.5.0.2
- base >=4 && <5
- containers
- random
- time Show all…
Dependents (8)
@hackage/accelerate-llvm, @hackage/chaselev-deque, @hackage/meta-par-accelerate, @hackage/lockfree-queue, @hackage/acme-everything, @hackage/monad-par, Show all…
Package Flags
usecas
(off by default)
Enable the reference implementation to use hardware compare-and-swap.
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.