Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Composing first-class transactions
Haines N., Kindred D., Morrisett J., Nettles S., Wing J. ACM Transactions on Programming Languages and Systems16 (6):1719-1736,1994.Type:Article
Date Reviewed: May 1 1996

A computation is undoable if it can revert to its pre-execution state at any time before it ends; it is persistent if its results remain after it has successfully ended; and it is serializable if it produces the same results independent of other concurrently executing computations. A computation may require any subset of the properties undoability, persistence, and serializability, raising the problem of packaging each property so that it can be easily included in a computation needing it. This paper describes how the functional programming language Standard Metalanguage (SML) provides an elegant and effective solution to the packaging problem.

The paper’s coverage is broad but not deep; descriptions stop at the major module interfaces. While this is a sound software engineering principle, it tends to leave questions hanging. For example, composition, concurrency, and locking rules are not difficult to understand individually, but understanding their combination is harder. The paper includes references to more detailed, but less accessible, documents.

This paper is a good illustration of the power and utility of a language with features such as first-class functions and parameterized modules. Comparisons between the SML and object-oriented solutions to the packaging problem underscore the elegance and flexibility of a functional approach.

Reviewer:  R. Clayton Review #: CR119121 (9605-0359)
Bookmark and Share
 
Control Structures (D.3.3 ... )
 
 
Applicative (Functional) Languages (D.3.2 ... )
 
 
Fault-Tolerance (D.4.5 ... )
 
 
Mutual Exclusion (D.4.1 ... )
 
 
Procedures, Functions, And Subroutines (D.3.3 ... )
 
 
Synchronization (D.4.1 ... )
 
  more  
Would you recommend this review?
yes
no
Other reviews under "Control Structures": Date
Exception handling in scientific computation
Hull T.  Tools, methods and languages for scientific and engineering computation (, Paris, France,1751984. Type: Proceedings
Aug 1 1985
Reverse execution in a generalized control regime
Lafora F., Soffa M. Information Systems 9(3-4): 183-192, 1984. Type: Article
Aug 1 1985
A generalized iterative construct and its semantics
Anson E. ACM Transactions on Programming Languages and Systems 9(4): 567-581, 1987. Type: Article
Apr 1 1988
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy