@hackage / abstract-deque

Abstract, parameterized interface to mutable Deques.

Latest0.3

About

Metadata

  • Last updated , by RyanNewton
  • License BSD-3-Clause
  • Maintained by: rrnewton@gmail.com

  • Lottery factor: 0

Links

Installation

Package Flags

Use the -f option with cabal commands to enable flags

    usecas (off by default)

    Enable the reference implementation to use hardware compare-and-swap.

Readme

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.