Programming Idioms for Transactional Events

Matthew Kehrt
(University of Washington)
Laura Effinger-Dean
(University of Washington)
Michael Schmitz
(University of Washington)
Dan Grossman
(University of Washington)

Transactional events (TE) are an extension of Concurrent ML (CML), a programming model for synchronous message-passing. Prior work has focused on TE's formal semantics and its implementation. This paper considers programming idioms, particularly those that vary unexpectedly from the corresponding CML idioms. First, we solve a subtle problem with client-server protocols in TE. Second, we argue that CML's wrap and guard primitives do not translate well to TE, and we suggest useful workarounds. Finally, we discuss how to rewrite CML protocols that use abort actions.

In Alastair R. Beresford and Simon Gay: Proceedings Second International Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software (PLACES 2009), York, UK, 22nd March 2009, Electronic Proceedings in Theoretical Computer Science 17, pp. 43–48.
Published: 6th February 2010.

ArXived at: bibtex PDF

Comments and questions to:
For website issues: