cabal-version: 2.2
name:
  ring-buffers
version:
  0.1
synopsis:
  mutable ring buffers with atomic updates in GHC Haskell
description:
  mutable ring buffers with atomic updates in GHC Haskell, using the contiguous api internally to provide multiple array backends
homepage:
  https://github.com/chessai/ring-buffers
bug-reports:
  https://github.com/chessai/ring-buffers/issues
license:
  BSD-3-Clause
author:
  chessai
maintainer:
  chessai1996@gmail.com
copyright:
  2019 chessai
category:
  Data
build-type:
  Simple
extra-doc-files:
    README.md
  , CHANGELOG.md
tested-with:
    GHC == 8.2.2
  , GHC == 8.4.4
  , GHC == 8.6.3

library
  hs-source-dirs:
    src
  exposed-modules:
    RingBuffers.Lifted
    RingBuffers.Unlifted
    RingBuffers.Unboxed
  other-modules:
    Prelude
    RingBuffers.Internal
  build-depends:
    , base >= 4.10.1 && < 4.13
    , semirings >= 0.3
  mixins:
    base hiding (Prelude)
  if flag(checked)
    build-depends:
      , contiguous-checked >= 0.3.2
      , primitive-checked >= 0.6.4.1
  else
    build-depends:
      , contiguous >= 0.3.2
      , primitive >= 0.6.4
  ghc-options:
    -Wall
  default-language:
    Haskell2010

flag checked
  description:
    Check all array indexing. This makes most functions slower, but
    it replaces segfaults with descriptive errors. This should only
    be used for debugging.
  default:
    False
  manual:
    True

source-repository head
  type:
    git
  location:
    https://github.com/chessai/ring-buffers.git