2008 · 16 citations · 15 references
ComputingComputer ScienceMessage PassingProgramming LanguagesSystems ProgrammingConcurrency ControlConcurrent ProgrammingInterprocess CommunicationSynchronization PrimitivesSynchronous Message PassingTransaction ManagementCommunicating Sequential ProcessesCommunication PrimitivesConcurrency SemanticsConcurrent ProcessesSynchronization SemanticsTransaction ProcessingTransactional SynchronizationTransactions
Transactional events (TE) are an approach to concurrent programming that enriches the first-class synchronous message-passing of Concurrent ML (CML) with a combinator that allows multiple messages to be passed as part of one all-or-nothing synchronization. Donnelly and Fluet (2006) designed and implemented TE as a Haskell library and demonstrated that it enables elegant solutions to programming patterns that are awkward or impossible in CML. However, both the definition and the implementation of TE relied fundamentally on the code in a synchronization not using mutable memory, an unreasonable assumption for mostly functional languages like ML where functional interfaces may have impure implementations.
15
Communicating sequential processes
C. A. R. Hoare · Communications of the ACM · 1978 · 3.5K citations · Full text
Composable memory transactions
Tim Harris, Simon Marlow, Simon Peyton-Jones et al. · 2005 · 716 citations
Language support for lightweight transactions
Tim Harris, Keir Fraser · 2003 · 398 citations
High-level small-step operational semantics for transactions
Katherine F. Moore, Dan Grossman · 2008 · 123 citations
Michael F. Ringenburg, Dan Grossman · 2005 · 100 citations