Extensions to Standard ML to Support Transactions

Authors: Jeannette M. Wing, Manuel Faehndrich, J. Gregory Morrisett, and Scott Nettles

Appears in Proceedings of the ACM SIGPLAN Workshop on ML and its Applications, June 20-21, 1992. Also CMU-CS-92-132, April 1992.

The full text of this paper is here (in PostScript).


A transaction is a control abstraction that lets programmers treat a sequence of operations as an atomic ("all-or-nothing") unit. This paper describes our progress on on-going work to extend SML with transactions. What is novel about our work on transactions is support for multi-threaded concurrent transactions. We use SML's modules facility to reflect explicitly orthogonal concepts heretofore inseparable in other transaction-based programming languages.
  • Venari project home page.