Tinkertoy(Trade Name) Transactions
Abstract
This document describes the design of a transaction facility for a language that supports higher-order functions. We factor transactions into four separable features; persistence, undoability, locking, and threads. Then, relying on function composition, we show how we can put them together again. Our 'Tinkertoy' approach towards building transactions enables us to construct a model of concurrent, nested, multi-threaded transactions, as well as other non- traditional models where not all natures of transactions are present. Key to our approach is the use of higher-order functions to make transactions first-class. Not only do we get clean composability of transactional features, but also we avoid the need to introduce special control and block-structured constructs as done in more traditional transactional systems. We implemented our design in Standard ML of New Jersey.
Document Details
- Document Type
- Technical Report
- Publication Date
- Dec 01, 1993
- Accession Number
- ADA275271
Entities
People
- Darrell Kindred
- J. G. Morrisett
- Jeannette Wing
- Nicholas Haines
- Scott M. Nettles
Organizations
- Carnegie Mellon University