packages feed

chaselev-deque-0.4: chaselev-deque.cabal

Name:                chaselev-deque
Version:             0.4
License:             BSD3
License-file:        LICENSE
Author:              Ryan R. Newton, Edward Kmett 
Maintainer:          rrnewton@gmail.com
Category:            Data, Concurrent
Build-type:          Simple
Cabal-version:       >=1.8

-- Version history:
-- 0.1.1 -- bump for fixing bugs!  First release candidate.
-- 0.1.2
-- 0.1.3 -- small release to fix version deps before atomic-primops api change
-- 0.3   -- bump to go along with atomic-primops 0.3
-- 0.4   -- bump to go along with atomic-primops 0.4

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

Synopsis: Chase & Lev work-stealing lock-free double-ended queues (deques).

Description:

  A queue that is push/pop on one end and pop-only on the other.  These are commonly
  used for work-stealing.
  This implementation derives directly from the pseudocode in the 2005 SPAA paper:
  .
  "http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.170.1097&rep=rep1&type=pdf"

Flag debug
    Description: Enable the extra internal checks.
    Default: False

Library
  exposed-modules:   Data.Concurrent.Deque.ChaseLev.DequeInstance,
                     Data.Concurrent.Deque.ChaseLev
--                     Data.Concurrent.Deque.ChaseLev2
-- Disabling this [2012.03.08].  It got terrible performance anyway:
--                     Data.Concurrent.Deque.ReactorDeque
  other-modules:     Data.Concurrent.Deque.ChaseLevUnboxed

  build-depends:     base >= 4.4.0.0 && < 5, array, transformers, bits-atomic,
                     abstract-deque >= 0.2.2 && < 0.3, vector, ghc-prim,
                     atomic-primops >= 0.4 && < 0.5
--                     IORefCAS >= 0.2
  build-depends: ghc-prim
  ghc-options: -O2
  if flag(debug)
    cpp-options: -DDEBUGCL

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

Test-Suite test-chaselev-deque
    type:       exitcode-stdio-1.0
    main-is:    Test.hs
    build-depends: base >= 4.4.0.0 && < 5, abstract-deque >= 0.2.2 && < 0.3, 
                   HUnit, test-framework, test-framework-hunit,
                   atomic-primops >= 0.4 && < 0.5, vector, ghc-prim, array
--                   IORefCAS >= 0.2
    build-depends: containers
    ghc-options: -O2 -threaded -rtsopts 

    -- ghc-options: -O2 -threaded -rtsopts 
    -- -- Debugging generated code:
    -- ghc-options: -keep-tmp-files -dsuppress-module-prefixes -ddump-to-file -ddump-core-stats -ddump-simpl-stats -dcore-lint -dcmm-lint
    -- ghc-options: -ddump-ds -ddump-simpl -ddump-stg -ddump-asm -ddump-bcos -ddump-cmm -ddump-opt-cmm -ddump-inlinings