stm
stm copied to clipboard
Software Transactional Memory
Current example currently does not work as dupTChan runs inside the STM monad, not IO
Currently there is no way to efficiently snapshot the state of TBQueue without flushing it and rewriting (and neither there is a way to efficiently create TBQueue from the list)....
Addresses #22 This patch adds a new module `Control.Monad.STM.Class` that exposes a `MonadSTM` type class and instances for `STM` and `IO`. I lifted the haddocks directly from `MonadIO`.
MonadSTM
Could [this MonadSTM](https://hackage.haskell.org/package/monad-stm-0.1.0.2/docs/Control-Monad-STM-Class.html) type class be adopted by the `stm` package? It would be useful for certain abstractions such as the "console region" defined in [concurrent-output](https://hackage.haskell.org/package/concurrent-output-1.10.10/docs/System-Console-Regions.html), which currently defines its...
Question or bug report, I'm not sure which. On Hackage, `stm-2.5.0.0` has the bound `base (>=4.3 &&
The Haddock documentation for `TBQueue.writeTBQueue` and `TBQueue.ungetTBQueue` both say "blocks if the queue is full". This should be "retries if the queue is full".
Even if the non-threaded runtime doesn't provide tools to implement it as efficiently, it's still possible to implement registerDelay with correct semantics. That would be a lot more pleasant to...
I wonder if something could be done to improve understanding of ``` Prelude Control.Concurrent.STM> atomically $ do v
We don't actually have to check all the elements to see that two `TArray`s are equal.