io-sim-1.6.0.0: io-sim.cabal
cabal-version: 3.0
name: io-sim
version: 1.6.0.0
synopsis: A pure simulator for monadic concurrency with STM.
description:
A pure simulator monad with support of concurency (base & async style), stm,
synchronous and asynchronous exceptions, timeouts & delays, dynamic traces,
partial order reduction and more.
license: Apache-2.0
license-files: LICENSE NOTICE
copyright: 2022-2024 Input Output Global Inc (IOG)
author: Alexander Vieth, Duncan Coutts, John Hughes, Marcin Szamotulski
maintainer: Duncan Coutts duncan@well-typed.com, Marcin Szamotulski coot@coot.me
category: Testing
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 }
flag asserts
description: Enable assertions
manual: False
default: False
source-repository head
type: git
location: https://github.com/input-output-hk/io-sim
subdir: io-sim
common test-warnings
ghc-options: -Wall
-Wcompat
-Wincomplete-uni-patterns
-Widentities
-Wunused-packages
-Wredundant-constraints
-Wno-unticked-promoted-constructors
common warnings
import: test-warnings
ghc-options: -Wincomplete-record-updates
-Wpartial-fields
library
import: warnings
hs-source-dirs: src
exposed-modules: Data.List.Trace,
Control.Monad.IOSim
other-modules: Control.Monad.IOSim.CommonTypes,
Control.Monad.IOSim.Types,
Control.Monad.IOSim.Internal,
Control.Monad.IOSim.InternalTypes,
Control.Monad.IOSim.STM,
Control.Monad.IOSimPOR.Internal,
Control.Monad.IOSimPOR.Types,
Control.Monad.IOSimPOR.QuickCheckUtils,
Control.Monad.IOSimPOR.Timeout,
Data.Deque.Strict
default-language: Haskell2010
default-extensions: ImportQualifiedPost
other-extensions: BangPatterns,
CPP,
DeriveFunctor,
DeriveGeneric,
DerivingVia,
ExistentialQuantification,
ExplicitNamespaces,
FlexibleContexts,
FlexibleInstances,
GADTSyntax,
GeneralizedNewtypeDeriving,
MultiParamTypeClasses,
NamedFieldPuns,
NumericUnderscores,
RankNTypes,
ScopedTypeVariables,
TypeFamilies
build-depends: base >=4.9 && <4.21,
io-classes:{io-classes,strict-stm,si-timers}
^>=1.6,
exceptions >=0.10,
containers,
deepseq,
nothunks,
primitive >=0.7 && <0.11,
psqueues >=0.2 && <0.3,
time >=1.9.1 && <1.13,
quiet,
QuickCheck,
parallel
if flag(asserts)
ghc-options: -fno-ignore-asserts
test-suite test
import: test-warnings
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Main.hs
other-modules: Test.Control.Concurrent.Class.MonadMVar
Test.Control.Concurrent.Class.MonadMVar.Strict
Test.Control.Monad.STM
Test.Control.Monad.Utils
Test.Control.Monad.IOSim
Test.Control.Monad.IOSimPOR
default-language: Haskell2010
default-extensions: ImportQualifiedPost
build-depends: base,
array,
containers,
io-classes:{io-classes,strict-stm,si-timers,testlib},
io-sim,
QuickCheck,
tasty,
tasty-quickcheck,
tasty-hunit,
time
ghc-options: -fno-ignore-asserts
-rtsopts
if impl(ghc >= 9.8)
ghc-options: -Wno-x-partial
benchmark bench
import: warnings
type: exitcode-stdio-1.0
hs-source-dirs: bench
main-is: Main.hs
default-language: Haskell2010
default-extensions: ImportQualifiedPost
build-depends: base,
criterion ^>= 1.6,
io-classes:io-classes,
io-sim,
ghc-options: -Wall
-Wcompat
-Wincomplete-uni-patterns
-Wincomplete-record-updates
-Wpartial-fields
-Widentities
-Wredundant-constraints