stm-2.5.0.1: 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
MVar
s.