Abstract

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.