-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstm-ringbuffer.cabal
More file actions
90 lines (77 loc) · 2.31 KB
/
Copy pathstm-ringbuffer.cabal
File metadata and controls
90 lines (77 loc) · 2.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
cabal-version: 3.4
name: stm-ringbuffer
category: Concurrency
version: 0.1.0.0
license: BSD-3-Clause
author: Greg Baimetov
maintainer: Greg Baimetov
synopsis:
Ring buffer implementation in STM
description:
This package provides a ring buffer in STM and a wrapper which mimics the interface to TBQueue (from STM).
As of June 2, 2026, TBQueue claims to be "based on an array", but actually is not.
Compared to TBQueue, this package offers better performance as a bounded queue, especially when used with multiple producers and consumers.
Unlike TBQueue, it also offers full support for push, pop, peek and flush operations on both ends.
copyright: (c) Greg Baimetov 2026
build-type: Simple
extra-doc-files:
CHANGELOG.md
README.md
tested-with:
GHC == 9.6.7,
GHC == 9.8.4,
GHC == 9.10.3,
GHC == 9.12.2,
GHC == 9.14.1
common warnings
ghc-options: -Wall
source-repository head
type:git
location: github.com/Greg-Bm/stm-ringbuffer.git
library
hs-source-dirs: src
default-extensions: ImportQualifiedPost
exposed-modules:
Control.Concurrent.STM.TRingBuffer
Control.Concurrent.STM.TRingBuffer.TBQueue
build-depends:
, array >=0.5.8 && <0.6
, base >=4.18.3 && <4.23
, dlist >=1.0 && <1.1
, stm >=2.5.3 && <2.6
default-language: Haskell2010
ghc-options: -Wall
test-suite test
type: exitcode-stdio-1.0
default-extensions: ImportQualifiedPost
hs-source-dirs: test
main-is: Main.hs
other-modules:
ReferenceTest
TestTRingBuffer
build-depends:
, async >=2.2.6 && <2.3
, base
, generic-random >=1.5.0 && <1.6
, hspec >=2.11.17 && <2.12
, QuickCheck >=2.16.0 && <2.17
, random >=1.3.1 && <1.4
, stm
, stm-ringbuffer
default-language: Haskell2010
benchmark benchmark
type: exitcode-stdio-1.0
default-extensions: ImportQualifiedPost
hs-source-dirs: benchmark
main-is: Main.hs
other-modules: StmBench
build-depends:
, async >=2.2.6 && <2.3
, base
, deepseq >=1.4.8 && <1.6
, random
, stm
, stm-ringbuffer
, tasty >=1.5.4 && <1.6
, tasty-bench >=0.5 && <0.6
default-language: Haskell2010