packages feed

lockfree-queue-0.2: lockfree-queue.cabal

Name:                lockfree-queue
Version:             0.2
License:             BSD3
License-file:        LICENSE
Author:              Ryan R. Newton
Maintainer:          rrnewton@gmail.com
Category:            Data, Concurrent
Build-type:          Simple
Cabal-version:       >=1.8

Homepage: https://github.com/rrnewton/haskell-lockfree-queue/wiki

-- Version History:
-- 0.1 -- initial version
-- 0.2 -- switched to MutVar 

Synopsis: Michael and Scott lock-free queues.

Description:

  Michael and Scott queues are described in their PODC 1996 paper:
 .
    <http://dl.acm.org/citation.cfm?id=248052.248106>
 .
  These are single-ended concurrent queues based on a singlly linked
  list and using atomic CAS instructions to swap the tail pointers.
  As a well-known efficient algorithm they became the basis for Java's
  @ConcurrentLinkedQueue@.

extra-source-files:
     stress_test.sh

Library
  exposed-modules:   Data.Concurrent.Queue.MichaelScott,
                     Data.Concurrent.Queue.MichaelScott.DequeInstance
  build-depends:     base >= 4.4.0.0 && < 5,
                     ghc-prim, IORefCAS >= 0.2, abstract-deque, bytestring
  -- Build failure on GHC 7.2:
  --                     queuelike
  ghc-options: -O2

Source-Repository head
    Type:         git
    Location:     git://github.com/rrnewton/haskell-lockfree-queue.git


Test-Suite test-lockfree-queue
    type:       exitcode-stdio-1.0
    main-is:    Test.hs
    build-depends: base >= 4.4.0.0 && < 5, IORefCAS >= 0.2, abstract-deque, bytestring,
                   HUnit, test-framework, test-framework-hunit
    ghc-options: -O2 -threaded -rtsopts