The stm-io-hooks package
This library provides an STM monad with commit and retry IO hooks. A retry-action is run (once) if the transaction retries, while commit-actions are executed iff the transaction commits. The library also gives some atomicity guarantees for commit-actions:
When a TVar is modified in a transaction and this transaction commits, the update remains invisible to other threads until the corresponding onCommit action is run.
If the onCommit action throws an exception, the original values of the modified TVars are restored.
Note: Part of this library uses code from the Haskell Wiki (see http://haskell.org/haskellwiki/?title=New_monads/MonadAdvSTM).
Properties
| Versions | 0.0.1, 0.1.0, 0.2.0, 0.2.1, 0.3.0, 0.4.2, 0.5.4, 0.6.0, 0.7.0, 0.7.1, 0.7.2, 0.7.3, 0.7.5 |
|---|---|
| Dependencies | array (≥0.2.0.0 & <0.3), base (≥4.0.0.0 & <4.1), containers (≥0.2.0.0 & <0.3), mtl (≥1.1.0.2 & <1.2), stm (≥2.1.1.2 & <2.2) |
| License | BSD3 |
| Author | Peter Robinson 2009, Chris Kuklewicz 2006 |
| Maintainer | Peter Robinson <thaldyron@gmail.com> |
| Category | Concurrency |
| Home page | http://darcs.monoid.at/stm-io-hooks |
| Upload date | Sun Mar 15 14:47:22 UTC 2009 |
| Uploaded by | PeterRobinson |
| Built on | ghc-6.10 |
| Build failure | ghc-6.12 (log), ghc-7.4 (log) |
Modules
Downloads
- stm-io-hooks-0.2.0.tar.gz (Cabal source package)
- package description (included in the package)