packages feed

Cabal revisions of dejafu-0.2.0.0

Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.

revision 1
--- Initial monad-conc.cabal generated by cabal init.  For further --- documentation, see http://haskell.org/cabal/users-guide/--name:                dejafu-version:             0.2.0.0-synopsis:            Overloadable primitives for testable, potentially non-deterministic, concurrency.--description:-  /[Déjà Fu is] A martial art in which the user's limbs move in time as well as space, […] It is best described as "the feeling that you have been kicked in the head this way before"/ -- Terry Pratchett, Thief of Time-  .-  Concurrency is nice, deadlocks and race conditions not so much. The-  @Par@ monad family, as defined in-  <https://hackage.haskell.org/package/abstract-par/docs/Control-Monad-Par-Class.html abstract-par>-  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 in the spirit of-  GHC's normal concurrency abstraction.-  .-  == @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.-  .-  == Memory Model-  .-  The testing functionality supports a few different memory models,-  for computations which use non-synchronised `CRef` operations. The-  supported models are:-  .-  * __Sequential Consistency:__ A program behaves as a simple-    interleaving of the actions in different threads. When a CRef is-    written to, that write is immediately visible to all threads.-  .-  * __Total Store Order (TSO):__ Each thread has a write buffer. A-    thread sees its writes immediately, but other threads will only-    see writes when they are committed, which may happen later. Writes-    are committed in the same order that they are created.-  .-  * __Partial Store Order (PSO):__ Each CRef has a write buffer. A-    thread sees its writes immediately, but other threads will only-    see writes when they are committed, which may happen later. Writes-    to different CRefs are not necessarily committed in the same order-    that they are created.-  .-  If a testing function does not take the memory model as a parameter,-  it uses TSO.-  .-  See the <https://github.com/barrucadu/dejafu README> for more-  details.--homepage:            https://github.com/barrucadu/dejafu-license:             MIT-license-file:        LICENSE-author:              Michael Walker-maintainer:          mike@barrucadu.co.uk--- copyright:           -category:            Concurrency-build-type:          Simple--- extra-source-files:  -cabal-version:       >=1.10--source-repository head-  type:     git-  location: https://github.com/barrucadu/dejafu.git--source-repository this-  type:     git-  location: https://github.com/barrucadu/dejafu.git-  tag:      0.1.0.0--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.Schedule-                     , Test.DejaFu.SCT-                     , Test.DejaFu.STM--                     , Test.DejaFu.Deterministic.Internal-                     , Test.DejaFu.Deterministic.Internal.Common-                     , Test.DejaFu.Deterministic.Internal.Memory-                     , Test.DejaFu.Deterministic.Internal.Threading-                     , Test.DejaFu.Internal-                     , Test.DejaFu.SCT.Internal-                     , Test.DejaFu.STM.Internal-                     , Data.List.Extra--  -- other-modules:       -  -- other-extensions:    -  build-depends:       base >=4.5 && <5-                     , atomic-primops-                     , containers-                     , deepseq-                     , exceptions >=0.7-                     , monad-loops-                     , mtl-                     , random-                     , stm-                     , transformers-  -- hs-source-dirs:      -  default-language:    Haskell2010-  ghc-options:         -Wall+name:                dejafu
+version:             0.2.0.0
+x-revision: 1
+synopsis:            Overloadable primitives for testable, potentially non-deterministic, concurrency.
+
+description:
+  /[Déjà Fu is] A martial art in which the user's limbs move in time as well as space, […] It is best described as "the feeling that you have been kicked in the head this way before"/ -- Terry Pratchett, Thief of Time
+  .
+  Concurrency is nice, deadlocks and race conditions not so much. The
+  @Par@ monad family, as defined in
+  <https://hackage.haskell.org/package/abstract-par/docs/Control-Monad-Par-Class.html abstract-par>
+  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 in the spirit of
+  GHC's normal concurrency abstraction.
+  .
+  == @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.
+  .
+  == Memory Model
+  .
+  The testing functionality supports a few different memory models,
+  for computations which use non-synchronised `CRef` operations. The
+  supported models are:
+  .
+  * __Sequential Consistency:__ A program behaves as a simple
+    interleaving of the actions in different threads. When a CRef is
+    written to, that write is immediately visible to all threads.
+  .
+  * __Total Store Order (TSO):__ Each thread has a write buffer. A
+    thread sees its writes immediately, but other threads will only
+    see writes when they are committed, which may happen later. Writes
+    are committed in the same order that they are created.
+  .
+  * __Partial Store Order (PSO):__ Each CRef has a write buffer. A
+    thread sees its writes immediately, but other threads will only
+    see writes when they are committed, which may happen later. Writes
+    to different CRefs are not necessarily committed in the same order
+    that they are created.
+  .
+  If a testing function does not take the memory model as a parameter,
+  it uses TSO.
+  .
+  See the <https://github.com/barrucadu/dejafu README> for more
+  details.
+
+homepage:            https://github.com/barrucadu/dejafu
+license:             MIT
+license-file:        LICENSE
+author:              Michael Walker
+maintainer:          mike@barrucadu.co.uk
+-- copyright:           
+category:            Concurrency
+build-type:          Simple
+-- extra-source-files:  
+cabal-version:       >=1.10
+
+source-repository head
+  type:     git
+  location: https://github.com/barrucadu/dejafu.git
+
+source-repository this
+  type:     git
+  location: https://github.com/barrucadu/dejafu.git
+  tag:      0.1.0.0
+
+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.Schedule
+                     , Test.DejaFu.SCT
+                     , Test.DejaFu.STM
+
+                     , Test.DejaFu.Deterministic.Internal
+                     , Test.DejaFu.Deterministic.Internal.Common
+                     , Test.DejaFu.Deterministic.Internal.Memory
+                     , Test.DejaFu.Deterministic.Internal.Threading
+                     , Test.DejaFu.Internal
+                     , Test.DejaFu.SCT.Internal
+                     , Test.DejaFu.STM.Internal
+                     , Data.List.Extra
+
+  -- other-modules:       
+  -- other-extensions:
+  build-depends:       base >=4.7 && <4.9
+                     , atomic-primops < 0.9
+                     , containers == 0.5.*
+                     , deepseq >= 1.1 && <1.5
+                     , exceptions >=0.7 && <0.9
+                     , monad-loops  < 0.5
+                     , mtl < 2.3
+                     , random < 1.2
+                     , stm < 2.5
+                     , transformers <0.6
+  -- hs-source-dirs:      
+  default-language:    Haskell2010
+  ghc-options:         -Wall