Name: stm-io-hooks Synopsis: An STM monad with IO hooks Description: 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: The package can be used as a drop-in replacement for 'Control.Concurrent.STM'. Part of this library uses code from the Haskell Wiki (see ). Category: Concurrency Author: Peter Robinson 2009, Chris Kuklewicz 2006 Maintainer: Peter Robinson License: BSD3 License-file: LICENSE Homepage: http://darcs.monoid.at/stm-io-hooks Version: 0.4.2 Build-type: Simple Cabal-Version: >= 1.2.3 library Exposed-Modules: Control.Monad.AdvSTM ,Control.Concurrent.AdvSTM ,Control.Concurrent.AdvSTM.TMVar ,Control.Concurrent.AdvSTM.TVar ,Control.Concurrent.AdvSTM.TArray ,Control.Concurrent.AdvSTM.TChan Other-Modules: Control.Monad.AdvSTM.Def ,Control.Monad.AdvSTM.Class -- TODO: add Sample module! build-depends: base >= 4 && < 5 ,stm >= 2.1.1.2 && < 2.2 ,array >= 0.2.0.0 && < 0.3 ,containers >= 0.2.0.0 && < 0.3 ,mtl >= 1.1.0.2 && < 1.2 extensions: MultiParamTypeClasses ,FunctionalDependencies ,FlexibleInstances ,GeneralizedNewtypeDeriving ,ScopedTypeVariables ,DeriveDataTypeable ,RankNTypes ,ExistentialQuantification ,UndecidableInstances