Name: abstract-deque Version: 0.1.4 License: BSD3 License-file: LICENSE Author: Ryan R. Newton Maintainer: rrnewton@gmail.com Category: Data Build-type: Simple Cabal-version: >= 1.8 -- Version History: -- 0.1: -- 0.1.1: Added nullQ to interface. -- 0.1.2: dependency on IORefCAS -- 0.1.3: Actually turned on real CAS! DANGER -- 0.1.4: First release. Synopsis: Abstract, parameterized interface to mutable Deques. Description: 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". Library exposed-modules: Data.Concurrent.Deque.Class, Data.Concurrent.Deque.Tests, Data.Concurrent.Deque.Reference, Data.Concurrent.Deque.Reference.DequeInstance build-depends: base >= 4.4.0.0 && < 5, containers, HUnit, IORefCAS >= 0.2 ghc-options: -O2 Test-Suite test-abstract-deque type: exitcode-stdio-1.0 main-is: Test.hs build-depends: base >= 4.4.0.0 && < 5, IORefCAS >= 0.2, containers, HUnit ghc-options: -O2 -threaded -rtsopts