Programming Idioms for Transactional Events
Programming Languages
2010-02-05 v1 Distributed, Parallel, and Cluster Computing
Abstract
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.
Keywords
Cite
@article{arxiv.1002.0936,
title = {Programming Idioms for Transactional Events},
author = {Matthew Kehrt and Laura Effinger-Dean and Michael Schmitz and Dan Grossman},
journal= {arXiv preprint arXiv:1002.0936},
year = {2010}
}