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

[ bsd3, data-, library ] [ Propose Tags ] [ Report a vulnerability ]

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.

Flags

Automatic Flags
NameDescriptionDefault
usecas

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

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.1, 0.1.4, 0.1.5, 0.1.6, 0.1.7, 0.2, 0.2.2, 0.2.2.1, 0.3
Dependencies array, atomic-primops (>=0.5.0.2), base (>=4 && <5), containers, random, time [details]
License BSD-3-Clause
Author Ryan R. Newton
Maintainer rrnewton@gmail.com
Category Data
Home page https://github.com/rrnewton/haskell-lockfree/wiki
Bug tracker https://github.com/rrnewton/haskell-lockfree/issues
Source repo head: git clone git://github.com/rrnewton/haskell-lockfree.git
Uploaded by RyanNewton at 2014-02-05T03:27:09Z
Distributions Arch:0.3, Debian:0.3, Fedora:0.3, FreeBSD:0.3, LTSHaskell:0.3, NixOS:0.3, Stackage:0.3
Reverse Dependencies 8 direct, 3722 indirect [details]
Downloads 60978 total (102 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Successful builds reported [all 1 reports]