stm-io-hooks-0.4.2: stm-io-hooks.cabal
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 <http://haskell.org/haskellwiki/?title=New_monads/MonadAdvSTM>).
Category: Concurrency
Author: Peter Robinson 2009, Chris Kuklewicz 2006
Maintainer: Peter Robinson <robinson@ecs.tuwien.ac.at>
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