cabal-version:       3.0
name:                strict-mvar
version:             1.5.0.0
synopsis:            Strict MVars for IO and IOSim
description:
  Strict @MVar@ interface compatible with
  [IO](https://hackage.haskell.org/package/base-4.18.0.0/docs/Prelude.html#t:IO)
  & [io-sim](https://hackage.haskell.org/package/io-sim).
license:             Apache-2.0
license-files:       LICENSE NOTICE
copyright:           2019-2024 Input Output Global Inc (IOG).
author:              IOG Engineering Team
maintainer:          operations@iohk.io
category:            Concurrency
build-type:          Simple
extra-doc-files:     CHANGELOG.md README.md
bug-reports:         https://github.com/input-output-hk/io-sim/issues
tested-with:         GHC == { 8.10, 9.2, 9.4, 9.6, 9.8, 9.10 }

source-repository head
  type:     git
  location: https://github.com/input-output-hk/io-sim
  subdir:   strict-mvar

library
  hs-source-dirs:      src

  exposed-modules:     Control.Concurrent.Class.MonadMVar.Strict
  default-language:    Haskell2010
  default-extensions:  ImportQualifiedPost
  build-depends:       base        >= 4.9 && <4.21,
                       io-classes ^>= 1.5
  ghc-options:         -Wall
                       -Wno-unticked-promoted-constructors
                       -Wcompat
                       -Wincomplete-uni-patterns
                       -Wincomplete-record-updates
                       -Wpartial-fields
                       -Widentities

test-suite test
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             Main.hs

  other-modules:       Test.Control.Concurrent.Class.MonadMVar.Strict.WHNF
                       Test.Utils
  default-language:    Haskell2010
  default-extensions:  ImportQualifiedPost
  build-depends:       base,
                       io-sim,
                       nothunks,
                       QuickCheck,
                       tasty,
                       tasty-quickcheck,
                       strict-mvar,

  ghc-options:         -Wall
                       -Wno-unticked-promoted-constructors
                       -Wcompat
                       -Wincomplete-uni-patterns
                       -Wincomplete-record-updates
                       -Wpartial-fields
                       -Widentities
                       -fno-ignore-asserts