Venari/ML Interfaces and Examples

Abstract
Transactions are a well-known and fundamental control abstraction that arose from the database community. Application programmers can treat a sequence of operations as an atomic (all-or-nothing) unit and rely on the runtime environment to guarantee serializability of concurrent transactions and persistence of effects of committed transactions. In this report, we present interfaces, expressed in Standard ML, for creating and controlling transactions. Unlike other transaction-based high-level programming languages such as Argus and Avalon, Venari/ML is the first to support multi-threaded transactions, where each transaction may have multiple threads of control executing within its scope. We present a set of simple examples that show how to use Venari/ML interfaces individually and also in some useful combinations. We also present a larger example of searching a database of BibTEX entries. This report is intended primarily for use by an SML programmer whose application requires transactional properties

This publication has 0 references indexed in Scilit: