Electronic Proceedings in Theoretical Computer Science (Feb 2010)

Programming Idioms for Transactional Events

  • Matthew Kehrt,
  • Laura Effinger-Dean,
  • Michael Schmitz,
  • Dan Grossman

DOI
https://doi.org/10.4204/EPTCS.17.4
Journal volume & issue
Vol. 17, no. Proc. PLACES 2009
pp. 43 – 48

Abstract

Read online

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.