Package1.11.0.3Concurrency
concurrency
Typeclasses, functions, and data types for concurrency and STM.
- Version1.11.0.3
- CategoryConcurrency
- LicenceMIT
- AuthorMichael Walker
- Maintainermike@barrucadu.co.uk
- Homepagegithub.com/barrucadu/dejafu
- Pinned byhackage concurrency 1.11.0.3
- Sourcehackage.haskell.org/package/concurrency-1.11.0.3
Modules
- Control.Concurrent.ClassyClassy concurrency. Concurrency is "lightweight", which means that both thread
- Control.Concurrent.Classy.AsyncThis module is a version of the
- Control.Concurrent.Classy.BoundedChanImplements bounded channels. These channels differ from normal Chans in
- Control.Concurrent.Classy.CRefDeprecated re-exports of IORef functions under the old CRef
- Control.Concurrent.Classy.ChanUnbounded channels. Deviations: Chan as defined here does not have an Eq
- Control.Concurrent.Classy.IORefMutable references in a concurrency monad. Deviations: There is no Eq instance for MonadConc the
- Control.Concurrent.Classy.LockThis module provides the Lock synchronisation mechanism. It was inspired by
- Control.Concurrent.Classy.MVarAn MVar t is mutable location that is either empty or contains
- Control.Concurrent.Classy.QSemSimple quantity semaphores.
- Control.Concurrent.Classy.QSemNQuantity semaphores in which each thread may wait for an arbitrary
- Control.Concurrent.Classy.RWLockMultiple-reader, single-writer locks. Used to protect shared resources which
- Control.Concurrent.Classy.STMClassy software transactional memory.
- Control.Concurrent.Classy.STM.TArrayDeviations: TArray as defined here does not have an Eq
- Control.Concurrent.Classy.STM.TBQueueTBQueue is a bounded version of TQueue. The queue has a maximum
- Control.Concurrent.Classy.STM.TChanTransactional channels Deviations: TChan as defined here does not have an Eq
- Control.Concurrent.Classy.STM.TMVarTransactional MVars, for use with MonadSTM. Deviations: TMVar as defined here does not have an Eq
- Control.Concurrent.Classy.STM.TQueueA TQueue is like a TChan, with two important differences: it has faster throughput than both TChan and Chan (although
- Control.Concurrent.Classy.STM.TSemTSem: transactional semaphores. Deviations: There is no Eq instance for TSem type.
- Control.Concurrent.Classy.STM.TVarTransactional variables, for use with MonadSTM. Deviations: There is no Eq instance for MonadSTM the TVar
- Control.Monad.Conc.ClassThis module captures in a typeclass the interface of concurrency
- Control.Monad.STM.ClassThis module provides an abstraction over STM, which can be used
Description
A typeclass abstraction over much of Control.Concurrent (and some extras!). If you're looking for a general introduction to Haskell concurrency, you should check out the excellent Parallel and Concurrent Programming in Haskell, by Simon Marlow. If you are already familiar with concurrent Haskell, just change all the imports from Control.Concurrent.* to Control.Concurrent.Classy.* and fix the type errors.
Depends on
8 packages- array-0.5.8.0with GHC
- atomic-primops-0.8.8in this set
- base-4.23.0.0with GHC
- exceptions-0.10.12with GHC
- monad-control-1.0.3.1in this set
- mtl-2.3.2with GHC
- stm-2.5.3.1with GHC
- transformers-0.6.3.0with GHC