cabal-version:       3.0
name:                strict-mvar
version:             1.0.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-2023 Input Output Global Inc (IOG).
author:              IOHK Engineering Team
maintainer:          operations@iohk.io
category:            Control
build-type:          Simple
extra-source-files:  CHANGELOG.md
                     README.md
tested-with:         GHC == { 8.10.7, 9.2.5, 9.4.4 }

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

flag asserts
  description: Enable assertions
  manual:      False
  default:     False

library
  hs-source-dirs:      src

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

  if flag(asserts)
    ghc-options: -fno-ignore-asserts