name: rcu category: Data version: 0.2.4 x-revision: 2 license: BSD3 cabal-version: 1.22 license-file: LICENSE author: Ted Cooper and Edward A. Kmett maintainer: Edward A. Kmett , Ted Cooper stability: provisional homepage: http://github.com/ekmett/rcu/ bug-reports: http://github.com/ekmett/rcu/issues copyright: Copyright (C) 2015 Edward A. Kmett, Theodore Rhys Cooper build-type: Custom tested-with: GHC == 7.10.3 , GHC == 8.0.2 , GHC == 8.2.2 , GHC == 8.4.4 , GHC == 8.6.5 , GHC == 8.8.1 synopsis: Read-Copy-Update for Haskell description: Read-Copy-Update for Haskell. extra-source-files: examples/*.hs CHANGELOG.markdown README.markdown HLint.hs Warning.hs source-repository head type: git location: git://github.com/ekmett/rcu.git -- You can disable the doctests test suite with -f-test-doctests flag test-doctests default: True manual: True -- Include unstable and/or potentially incorrect implementations. flag unstable default: False manual: True -- Configure benchmarks to measure writer synchronize time at the expense of -- increasing average update time. flag measure-synchronize default: False manual: True custom-setup setup-depends: base >= 4 && < 5, Cabal, cabal-doctest >= 1 && < 1.1 library build-depends: atomic-primops >= 0.8, base >= 4.8 && < 5, fail == 4.9.*, ghc-prim >= 0.3, parallel >= 3.2 && < 3.3, primitive >= 0.6, transformers >= 0.4 && < 0.6 exposed-modules: Control.Concurrent.RCU.Class Control.Concurrent.RCU.GC Control.Concurrent.RCU.GC.Internal Control.Concurrent.RCU.QSBR Control.Concurrent.RCU.QSBR.Internal c-sources: cbits/pause.c include-dirs: cbits install-includes: pause.h pause_impl.h ghc-options: -Wall -fwarn-tabs -feager-blackholing hs-source-dirs: src default-language: Haskell2010 if flag(unstable) hs-source-dirs: unstable build-depends: stm >= 2.4.4 && < 2.6 exposed-modules: Control.Concurrent.RCU.STM Control.Concurrent.RCU.STM.Internal executable MoveStringSTM main-is: MoveString.hs cpp-options: -DMODE=STM hs-source-dirs: examples ghc-options: -threaded -Wall -feager-blackholing -fwarn-tabs "-with-rtsopts=-N -qa -qb -qm -s" default-language: Haskell2010 if !flag(unstable) buildable: False else build-depends: base, rcu, transformers executable MoveStringQSBR main-is: MoveString.hs cpp-options: -DMODE=QSBR build-depends: base, rcu, transformers hs-source-dirs: examples ghc-options: -threaded -Wall -feager-blackholing -fwarn-tabs "-with-rtsopts=-N -qa -qb -qm -s" default-language: Haskell2010 executable MoveStringGC main-is: MoveString.hs cpp-options: -DMODE=GC build-depends: base, rcu, transformers hs-source-dirs: examples ghc-options: -threaded -Wall -feager-blackholing -fwarn-tabs "-with-rtsopts=-N -qa -qb -qm -s" default-language: Haskell2010 benchmark IncCounterExperiment main-is: IncCounterExperiment.hs type: exitcode-stdio-1.0 build-depends: base, criterion >= 1.1, ghc-prim, primitive, rcu, transformers hs-source-dirs: examples ghc-options: -threaded -Wall -feager-blackholing -fwarn-tabs "-with-rtsopts=-N -qa -qb -qm -s" default-language: Haskell2010 benchmark TimeSynchronizeQSBR main-is: TimeSynchronize.hs type: exitcode-stdio-1.0 cpp-options: -DMODE=QSBR -DBENCHMARKS build-depends: base >= 4.8 && < 5, containers >= 0.5, deepseq >= 1.4.1, ghc-prim >= 0.3, optparse-applicative >= 0.11, primitive >= 0.6, rcu, rdtsc >= 1.3.0.1, transformers >= 0.4 && < 0.6 if flag(measure-synchronize) cpp-options: -DMODE=QSBR -DBENCHMARKS -DMEASURE_SYNCHRONIZE c-sources: cbits/pause.c include-dirs: cbits install-includes: pause.h pause_impl.h hs-source-dirs: examples ghc-options: -threaded -Wall -fwarn-tabs -feager-blackholing -rtsopts "-with-rtsopts=-N -qa -qb -qm -s" default-language: Haskell2010 benchmark TimeSynchronizeGC main-is: TimeSynchronize.hs type: exitcode-stdio-1.0 cpp-options: -DMODE=GC -DBENCHMARKS build-depends: base >= 4.8 && < 5, containers >= 0.5, deepseq >= 1.4.1, ghc-prim >= 0.3, optparse-applicative >= 0.11, primitive >= 0.6, rcu, rdtsc >= 1.3.0.1, transformers >= 0.4 && < 0.6 if flag(measure-synchronize) cpp-options: -DMODE=GC -DBENCHMARKS -DMEASURE_SYNCHRONIZE c-sources: cbits/pause.c include-dirs: cbits install-includes: pause.h pause_impl.h hs-source-dirs: examples ghc-options: -threaded -Wall -fwarn-tabs -feager-blackholing -rtsopts "-with-rtsopts=-N -qa -qb -qm -s" default-language: Haskell2010 benchmark TimeSynchronizeQSBRUnbound main-is: TimeSynchronize.hs type: exitcode-stdio-1.0 cpp-options: -DMODE=QSBR -DBENCHMARKS -DUNBOUND build-depends: base >= 4.8 && < 5, containers >= 0.5, deepseq >= 1.4.1, ghc-prim >= 0.3, optparse-applicative >= 0.11, primitive >= 0.6, rcu, time >= 1.5.0.1, transformers >= 0.4 && < 0.6 if flag(measure-synchronize) cpp-options: -DMODE=QSBR -DBENCHMARKS -DUNBOUND -DMEASURE_SYNCHRONIZE c-sources: cbits/pause.c include-dirs: cbits install-includes: pause.h pause_impl.h hs-source-dirs: examples ghc-options: -threaded -Wall -fwarn-tabs -feager-blackholing -rtsopts "-with-rtsopts=-N -s" default-language: Haskell2010 benchmark TimeSynchronizeGCUnbound main-is: TimeSynchronize.hs type: exitcode-stdio-1.0 cpp-options: -DMODE=GC -DBENCHMARKS -DUNBOUND build-depends: base >= 4.8 && < 5, containers >= 0.5, deepseq >= 1.4.1, ghc-prim >= 0.3, optparse-applicative >= 0.11, primitive >= 0.6, rcu, time >= 1.5.0.1, transformers >= 0.4 && < 0.6 if flag(measure-synchronize) cpp-options: -DMODE=GC -DBENCHMARKS -DUNBOUND -DMEASURE_SYNCHRONIZE c-sources: cbits/pause.c include-dirs: cbits install-includes: pause.h pause_impl.h hs-source-dirs: examples ghc-options: -threaded -Wall -fwarn-tabs -feager-blackholing -rtsopts "-with-rtsopts=-N -s" default-language: Haskell2010 benchmark TimeSynchronizeQSBRSingleThread main-is: TimeSynchronize.hs type: exitcode-stdio-1.0 cpp-options: -DMODE=QSBR -DBENCHMARKS -DUNBOUND build-depends: base >= 4.8 && < 5, containers >= 0.5, deepseq >= 1.4.1, ghc-prim >= 0.3, optparse-applicative >= 0.11, primitive >= 0.6, rcu, time >= 1.5.0.1, transformers >= 0.4 && < 0.6 if flag(measure-synchronize) cpp-options: -DMODE=QSBR -DBENCHMARKS -DUNBOUND -DMEASURE_SYNCHRONIZE c-sources: cbits/pause.c include-dirs: cbits install-includes: pause.h pause_impl.h hs-source-dirs: examples ghc-options: -Wall -fwarn-tabs -feager-blackholing -rtsopts "-with-rtsopts=-s" default-language: Haskell2010 benchmark TimeSynchronizeGCSingleThread main-is: TimeSynchronize.hs type: exitcode-stdio-1.0 cpp-options: -DMODE=GC -DBENCHMARKS -DUNBOUND build-depends: base >= 4.8 && < 5, containers >= 0.5, deepseq >= 1.4.1, ghc-prim >= 0.3, optparse-applicative >= 0.11, primitive >= 0.6, rcu, time >= 1.5.0.1, transformers >= 0.4 && < 0.6 if flag(measure-synchronize) cpp-options: -DMODE=GC -DBENCHMARKS -DUNBOUND -DMEASURE_SYNCHRONIZE c-sources: cbits/pause.c include-dirs: cbits install-includes: pause.h pause_impl.h hs-source-dirs: examples ghc-options: -Wall -fwarn-tabs -feager-blackholing -rtsopts "-with-rtsopts=-s" default-language: Haskell2010 benchmark TimeSynchronizeQSBRPinned main-is: TimeSynchronize.hs type: exitcode-stdio-1.0 cpp-options: -DMODE=QSBR -DBENCHMARKS build-depends: base >= 4.8 && < 5, containers >= 0.5, deepseq >= 1.4.1, ghc-prim >= 0.3, optparse-applicative >= 0.11, primitive >= 0.6, rcu, rdtsc >= 1.3.0.1, transformers >= 0.4 && < 0.6 if flag(measure-synchronize) cpp-options: -DMODE=QSBR -DBENCHMARKS -DMEASURE_SYNCHRONIZE c-sources: cbits/pause.c include-dirs: cbits install-includes: pause.h pause_impl.h hs-source-dirs: examples ghc-options: -threaded -Wall -fwarn-tabs -feager-blackholing -rtsopts "-with-rtsopts=-N -qa -s" default-language: Haskell2010 benchmark TimeSynchronizeGCPinned main-is: TimeSynchronize.hs type: exitcode-stdio-1.0 cpp-options: -DMODE=GC -DBENCHMARKS build-depends: base >= 4.8 && < 5, containers >= 0.5, deepseq >= 1.4.1, ghc-prim >= 0.3, optparse-applicative >= 0.11, primitive >= 0.6, rcu, rdtsc >= 1.3.0.1, transformers >= 0.4 && < 0.6 if flag(measure-synchronize) cpp-options: -DMODE=GC -DBENCHMARKS -DMEASURE_SYNCHRONIZE c-sources: cbits/pause.c include-dirs: cbits install-includes: pause.h pause_impl.h hs-source-dirs: examples ghc-options: -threaded -Wall -fwarn-tabs -feager-blackholing -rtsopts "-with-rtsopts=-N -qa -s" default-language: Haskell2010 benchmark TimeSynchronizeQSBRnoGC main-is: TimeSynchronize.hs type: exitcode-stdio-1.0 cpp-options: -DMODE=QSBR -DBENCHMARKS build-depends: base >= 4.8 && < 5, containers >= 0.5, deepseq >= 1.4.1, ghc-prim >= 0.3, optparse-applicative >= 0.11, primitive >= 0.6, rcu, rdtsc >= 1.3.0.1, transformers >= 0.4 && < 0.6 if flag(measure-synchronize) cpp-options: -DMODE=QSBR -DBENCHMARKS -DMEASURE_SYNCHRONIZE c-sources: cbits/pause.c include-dirs: cbits install-includes: pause.h pause_impl.h hs-source-dirs: examples ghc-options: -threaded -Wall -fwarn-tabs -feager-blackholing -rtsopts "-with-rtsopts=-N -qa -qb -qm -A1g -I0 -s" default-language: Haskell2010 benchmark TimeSynchronizeGCnoGC main-is: TimeSynchronize.hs type: exitcode-stdio-1.0 cpp-options: -DMODE=GC -DBENCHMARKS build-depends: base >= 4.8 && < 5, containers >= 0.5, deepseq >= 1.4.1, ghc-prim >= 0.3, optparse-applicative >= 0.11, primitive >= 0.6, rcu, rdtsc >= 1.3.0.1, transformers >= 0.4 && < 0.6 if flag(measure-synchronize) cpp-options: -DMODE=GC -DBENCHMARKS -DMEASURE_SYNCHRONIZE c-sources: cbits/pause.c include-dirs: cbits install-includes: pause.h pause_impl.h hs-source-dirs: examples ghc-options: -threaded -Wall -fwarn-tabs -feager-blackholing -rtsopts "-with-rtsopts=-N -qa -qb -qm -A1g -I0 -s" default-language: Haskell2010 benchmark TimeSynchronizeQSBRnoGCPinned main-is: TimeSynchronize.hs type: exitcode-stdio-1.0 cpp-options: -DMODE=QSBR -DBENCHMARKS build-depends: base >= 4.8 && < 5, containers >= 0.5, deepseq >= 1.4.1, ghc-prim >= 0.3, optparse-applicative >= 0.11, primitive >= 0.6, rcu, rdtsc >= 1.3.0.1, transformers >= 0.4 && < 0.6 if flag(measure-synchronize) cpp-options: -DMODE=QSBR -DBENCHMARKS -DMEASURE_SYNCHRONIZE c-sources: cbits/pause.c include-dirs: cbits install-includes: pause.h pause_impl.h hs-source-dirs: examples ghc-options: -threaded -Wall -fwarn-tabs -feager-blackholing -rtsopts "-with-rtsopts=-N -qa -A1g -I0 -s" default-language: Haskell2010 benchmark TimeSynchronizeGCnoGCPinned main-is: TimeSynchronize.hs type: exitcode-stdio-1.0 cpp-options: -DMODE=GC -DBENCHMARKS build-depends: base >= 4.8 && < 5, containers >= 0.5, deepseq >= 1.4.1, ghc-prim >= 0.3, optparse-applicative >= 0.11, primitive >= 0.6, rcu, rdtsc >= 1.3.0.1, transformers >= 0.4 && < 0.6 if flag(measure-synchronize) cpp-options: -DMODE=GC -DBENCHMARKS -DMEASURE_SYNCHRONIZE c-sources: cbits/pause.c include-dirs: cbits install-includes: pause.h pause_impl.h hs-source-dirs: examples ghc-options: -threaded -Wall -fwarn-tabs -feager-blackholing -rtsopts "-with-rtsopts=-N -qa -A1g -I0 -s" default-language: Haskell2010 test-suite doctests type: exitcode-stdio-1.0 main-is: doctests.hs ghc-options: -Wall -threaded hs-source-dirs: tests default-language: Haskell2010 if !flag(test-doctests) buildable: False else build-depends: base >= 4.8, doctest >= 0.11.1 && < 0.19, parallel, rcu