STM is:package
Software Transactional Memory
Software Transactional Memory, or STM, is an abstraction for
concurrent communication. The main benefits of STM are
composability and
modularity. That is, using STM you can
write concurrent abstractions that can be easily composed with any
other abstraction built using STM, without exposing the details of how
your abstraction ensures safety. This is typically not the case with
other forms of concurrent communication, such as locks or
MVars.
A monad transformer version of the ST monad
A monad transformer version of the ST monad.
Warning! This monad transformer should not be used with monads that
can contain multiple answers, like the list monad. The reason is that
the state token will be duplicated across the different answers and
this causes Bad Things to happen (such as loss of referential
transparency). Safe monads include the monads State, Reader, Writer,
Maybe and combinations of their corresponding monad transformers.
Not on Stackage, so not searched.
control a STM32F103 microcontroller
Not on Stackage, so not searched.
Definition for Peripherals,Registers and Fields from STM32F103xx.svd
Additional types of channels for STM.
Additional types of channels for STM.
Containers for STM
This library is based on an STM-specialized implementation of Hash
Array Mapped Trie. It provides efficient implementations of
Map,
Set and other data structures, which starting
from version
1 perform even better than their counterparts
from "unordered-containers", but also scale well on concurrent access
patterns. . For details on performance of the library, which are a bit
outdated, see
this blog post.
Introduces conduits to channels, and promotes using conduits concurrently.
Provides two simple conduit wrappers around STM channels - a source
and a sink.
Updatable one-shot timer polled with STM
This library lets you create a one-shot timer, poll it using STM, and
update it to ring at a different time than initially specified.
It uses GHC event manager timeouts when available (GHC 7.2+,
-threaded, non-Windows OS), yielding performance similar to
threadDelay and
registerDelay. Otherwise, it falls
back to forked threads and
threadDelay.
- Remove a call to ensureIOManagerIsRunning, for consistency with
System.Timeout
- Adjust timings in the testsuite to fix intermittent failure in the
non-threaded RTS case.
- Add tryWaitDelayIO, improve performance for certain cases of
newDelay and updateDelay, and improve example.
Not on Stackage, so not searched.
Conduits and STM operations for fire hoses.
STM-specialised Hash Array Mapped Trie
A low-level data-structure, which can be used to implement
higher-level interfaces like hash-map and hash-set. Such
implementations are presented by the
stm-containers.
Not on Stackage, so not searched.
Launch your IO-actions from within the STM monad
Not on Stackage, so not searched.
Software Transactional Memory lifted to MonadIO
Not on Stackage, so not searched.
Simple STM Promises for IO computations and external processes
Not on Stackage, so not searched.
An implementation of a real-time concurrent queue
Not on Stackage, so not searched.
retry statistics for STM transactions
STM wrapper around Control.Concurrent.Supply.
STM wrapper around Control.Concurrent.Supply for thread-safe ID
generation.
Not on Stackage, so not searched.
A simplistic actor model based on STM
Not on Stackage, so not searched.
Transactional I/O for duplex streams
Not on Stackage, so not searched.
Chunked Communication Queues
Extra STM functions
Please see README.md
Not on Stackage, so not searched.
A library for constructing incremental computations
Not on Stackage, so not searched.
Mutable, doubly linked lists for STM
Not on Stackage, so not searched.
Choose between the return value of an STM operation and an IO action.
Not on Stackage, so not searched.
Extra queue utilities for STM
Not on Stackage, so not searched.
Bounded channel for STM where item sizes can vary