stm-io-hooks-1.0.0: stm-io-hooks.cabal
Name: stm-io-hooks
Synopsis: STM with IO hooks
Description:
This library provides a Software Transactional Memory (STM) monad with commit and retry IO hooks.
A retry-action is run (at least once) if the transaction retries, while commit-actions are
executed iff the transaction commits. The AdvSTM monad 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'.
.
Feedback is welcome!
Category: Concurrency
Stability: experimental
Author: Peter Robinson 2009-2014, Chris Kuklewicz 2006
Maintainer: Peter Robinson <thaldyron@gmail.com>
License: BSD3
License-file: LICENSE
Version: 1.0.0
Build-type: Simple
Cabal-Version: >= 1.6
source-repository head
type: git
location: https://github.com/thaldyron/stm-io-hooks
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
build-depends: base >= 4 && < 5
,stm >= 2.1.1.2 && < 2.5
,array >= 0.2.0.0 && < 0.5
,containers >= 0.2.0.0 && < 0.6
,mtl >= 1.1.0.2 && < 2.2
extensions: MultiParamTypeClasses
FunctionalDependencies
FlexibleInstances
GeneralizedNewtypeDeriving
ScopedTypeVariables
DeriveDataTypeable
RankNTypes
ExistentialQuantification
UndecidableInstances