abstract-deque-0.3: Abstract, parameterized interface to mutable Deques.

# abstract-deque-0.3: Abstract, parameterized interface to mutable Deques.

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.

Modules

- Data
  - Concurrent
    - Deque
      - Data.Concurrent.Deque.Class
      - Data.Concurrent.Deque.Debugger
      - Data.Concurrent.Deque.Reference
        - Data.Concurrent.Deque.Reference.DequeInstance