-- Initial monad-conc.cabal generated by cabal init. For further -- documentation, see http://haskell.org/cabal/users-guide/ name: dejafu version: 0.0.0.0 synopsis: Overloadable primitives for testable, potentially non-deterministic, concurrency. description: Concurrency is nice, deadlocks and race conditions not so much. The @Par@ monad family, as defined in provides deterministic parallelism, but sometimes we can tolerate a bit of nondeterminism. . This package provides a class of monads for potentially nondeterministic concurrency, with an interface very much in the spirit of @Par@, but slightly more relaxed. Specifically, @MonadConc@'s @IVar@ equivalent, @CVar@s, can be written to multiple times. . == @MonadConc@ with 'IO': . The intention of the @MonadConc@ class is to provide concurrency where any apparent nondeterminism arises purely from the scheduling behaviour. To put it another way, a given computation, parametrised with a fixed set of scheduling decisions, is deterministic. This assumption is used by the testing functionality provided by Test.DejaFu. . Whilst this assumption may not hold in general when 'IO' is involved, you should strive to produce test cases where it does. . See the for more details. homepage: https://github.com/barrucadu/dejafu license: WTFPL license-file: LICENSE author: Michael Walker maintainer: mike@barrucadu.co.uk -- copyright: category: Concurrency build-type: Simple -- extra-source-files: cabal-version: >=1.10 library exposed-modules: Control.Monad.Conc.Class , Control.Monad.STM.Class , Control.Concurrent.CVar , Control.Concurrent.CVar.Strict , Control.Concurrent.STM.CTVar , Control.Concurrent.STM.CTMVar , Test.DejaFu , Test.DejaFu.Deterministic , Test.DejaFu.Deterministic.IO , Test.DejaFu.Deterministic.Schedule , Test.DejaFu.SCT , Test.DejaFu.STM other-modules: Test.DejaFu.Deterministic.Internal , Test.DejaFu.SCT.Bounding , Test.DejaFu.SCT.Internal , Control.State , Data.List.Extra -- other-extensions: build-depends: base >=4.6 && <5 , containers , deepseq , monad-loops , mtl , random , stm , transformers -- hs-source-dirs: default-language: Haskell2010 ghc-options: -Wall test-suite tests hs-source-dirs: tests type: exitcode-stdio-1.0 main-is: Tests.hs build-depends: dejafu, base default-language: Haskell2010