packages feed

abstract-deque-0.1.1: abstract-deque.cabal

Name:                abstract-deque
Version:             0.1.1
License:             BSD3
License-file:        LICENSE
Author:              Ryan R. Newton
Maintainer:          rrnewton@gmail.com
Category:            Data
Build-type:          Simple
Cabal-version:       >=1.2

-- Version History:
-- 0.1: 
-- 0.1.1: Added nullQ to interface.

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.Reference,
                     Data.Concurrent.Deque.Reference.DequeInstance
  build-depends:     base >= 4.4.0.0 && < 5, 
                     containers
  ghc-options: -O2