The abstract-deque package

[Tags:bsd3, library]

An abstract interface to highly-parameterizable queues/deques.

Background: There exists a feature space for queues that extends between:

... 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.


Versions 0.1.1, 0.1.4, 0.1.5, 0.1.6, 0.1.7, 0.2, 0.2.2,, 0.3
Dependencies array, base (==4.*), containers, HUnit, IORefCAS (>=0.2), random, test-framework (>=0.6), test-framework-hunit (>=0.2.7), time [details]
License BSD3
Author Ryan R. Newton
Category Data
Home page
Source repository head: git clone git://
Uploaded Mon Feb 3 04:14:27 UTC 2014 by RyanNewton
Distributions Arch:0.3, Debian:0.3, FreeBSD:0.3, LTSHaskell:0.3, NixOS:0.3, Stackage:0.3, Tumbleweed:0.3
Downloads 24209 total (1220 in the last 30 days)
0 []
Status Docs available [build log]
Successful builds reported [all 1 reports]




usecasEnable the reference implementation to use hardware compare-and-swap.DisabledAutomatic

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


Maintainer's Corner

For package maintainers and hackage trustees