tx-events-0.4: Transactional Events
This library provides first-class synchronous events in the style of CML (http://cml.cs.uchicago.edu/), but generalizes the concept to allow multiple, dependent events to be combined in a single event. The semantics of these generalized events ensures an all-or-nothing transactional property -- either all of the constituent events synchronize or none of them synchronize. When the constituent events include synchronous message passing, the semantics ensures that no thread is able to complete its synchronization until all of its (transitive) communications partners are willing to commit to a compatible synchronization.