packages feed

stm-ringbuffer-0.1.0.0: stm-ringbuffer.cabal

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.

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