packages feed

lockfree-queue-0.2.4: lockfree-queue.cabal

Name:                lockfree-queue
Version:             0.2.4
License:             BSD3
License-file:        LICENSE
Author:              Ryan R. Newton
Maintainer:          rrnewton@gmail.com
Category:            Data, Concurrent
Build-type:          Simple
Cabal-version:       1.18
tested-with:         GHC == 8.4.3, GHC == 8.2.2, GHC == 8.0.2, GHC == 7.10.3
Homepage: https://github.com/rrnewton/haskell-lockfree/wiki
Bug-Reports: https://github.com/rrnewton/haskell-lockfree/issues

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:
     CHANGELOG.md
     README.md
     stress_test.sh

Library
  exposed-modules:   Data.Concurrent.Queue.MichaelScott,
                     Data.Concurrent.Queue.MichaelScott.DequeInstance
  build-depends:     base >= 4.8 && < 5
                   , ghc-prim
                   , abstract-deque >= 0.3
                   , atomic-primops >= 0.6
  -- Build failure on GHC 7.2:
  --                     queuelike
  ghc-options: -O2
  default-language: Haskell2010

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


Test-Suite test-lockfree-queue
    type:       exitcode-stdio-1.0
    hs-source-dirs: tests
    main-is:    Test.hs
    build-depends: lockfree-queue
    build-depends: base >= 4.8 && < 5
                 , bytestring
                 , abstract-deque >= 0.3
                 , abstract-deque-tests >= 0.3
                 , HUnit
                 , test-framework
                 , test-framework-hunit
                 , ghc-prim
                 , atomic-primops >= 0.6

    ghc-options: -O2 -threaded -rtsopts
    default-language: Haskell2010
    -- 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


-- Executable benchmark-lockfree-queue
--     main-is:    Benchmark.hs
--     build-depends: base >= 4.4.0.0 && < 5, IORefCAS >= 0.2, abstract-deque, bytestring,
--                    HUnit, test-framework, test-framework-hunit,
--                    ghc-prim, atomic-primops
--     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