packages feed

strict-mutable-base-2.0.0.0: strict-mutable-base.cabal

cabal-version:      3.0
build-type:         Simple
name:               strict-mutable-base
version:            2.0.0.0
homepage:           https://github.com/arybczak/strict-mutable
license:            BSD-3-Clause
license-file:       LICENSE
category:           Data
maintainer:         andrzej@rybczak.net
author:             Andrzej Rybczak

synopsis: Strict variants of mutable data types from base.

description: Strict (WHNF) variants of @Chan@, @IORef@ and @MVar@ for proactive
             prevention of space leaks.

extra-doc-files:
  CHANGELOG.md
  README.md

tested-with: GHC == { 8.10.7, 9.0.2, 9.2.8, 9.4.8, 9.6.7, 9.8.4, 9.10.3, 9.12.4, 9.14.1 }

bug-reports:   https://github.com/arybczak/strict-mutable/issues
source-repository head
  type:     git
  location: https://github.com/arybczak/strict-mutable.git

common language
    ghc-options:        -Wall -Wcompat

    default-language:   Haskell2010

    default-extensions: GeneralizedNewtypeDeriving
                        LambdaCase
                        MagicHash
                        TupleSections
                        UnboxedTuples

library
    import:           language

    build-depends:    base >=4.14 && < 5
                    , deepseq >= 1.4.3.0

    hs-source-dirs:   src

    exposed-modules:  Control.Concurrent.Chan.Strict
                      Control.Concurrent.MVar.Strict
                      Data.IORef.Strict

test-suite test
    import:           language

    type:             exitcode-stdio-1.0

    build-depends:    base
                    , strict-mutable-base
                    , tasty >= 1.0
                    , tasty-hunit >= 0.10

    hs-source-dirs:   tests

    main-is:          Main.hs

    other-modules:    ChanTests
                      IORefTests
                      MVarTests
                      Utils

    default-extensions: TypeApplications