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
21 modules- Control.Concurrent.Classy0Classy concurrency. Concurrency is "lightweight", which means that both thread
- Control.Concurrent.Classy.Async60This module is a version of the
- Control.Concurrent.Classy.BoundedChan8Implements bounded channels. These channels differ from normal Chans in
- Control.Concurrent.Classy.CRef13Deprecated re-exports of IORef functions under the old CRef
- Control.Concurrent.Classy.Chan6Unbounded channels. Deviations: Chan as defined here does not have an Eq
- Control.Concurrent.Classy.IORef8Mutable references in a concurrency monad. Deviations: There is no Eq instance for MonadConc the
- Control.Concurrent.Classy.Lock10This module provides the Lock synchronisation mechanism. It was inspired by
- Control.Concurrent.Classy.MVar18An MVar t is mutable location that is either empty or contains
- Control.Concurrent.Classy.QSem4Simple quantity semaphores.
- Control.Concurrent.Classy.QSemN4Quantity semaphores in which each thread may wait for an arbitrary
- Control.Concurrent.Classy.RWLock16Multiple-reader, single-writer locks. Used to protect shared resources which
- Control.Concurrent.Classy.STM0Classy software transactional memory.
- Control.Concurrent.Classy.STM.TArray1Deviations: TArray as defined here does not have an Eq
- Control.Concurrent.Classy.STM.TBQueue12TBQueue is a bounded version of TQueue. The queue has a maximum
- Control.Concurrent.Classy.STM.TChan12Transactional channels Deviations: TChan as defined here does not have an Eq
- Control.Concurrent.Classy.STM.TMVar13Transactional MVars, for use with MonadSTM. Deviations: TMVar as defined here does not have an Eq
- Control.Concurrent.Classy.STM.TQueue10A TQueue is like a TChan, with two important differences: it has faster throughput than both TChan and Chan (although
- Control.Concurrent.Classy.STM.TSem5TSem: transactional semaphores. Deviations: There is no Eq instance for TSem type.
- Control.Concurrent.Classy.STM.TVar11Transactional variables, for use with MonadSTM. Deviations: There is no Eq instance for MonadSTM the TVar
- Control.Monad.Conc.Class29This module captures in a typeclass the interface of concurrency
- Control.Monad.STM.Class9This 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