First-Class Synchronous Operations in Standard ML
No Access Until
Permanent Link(s)
Collections
Other Titles
Author(s)
Abstract
In [Reppy88], we introduced a new language mechanism, first-class synchronous operations, for synchronous message passing. In our approach, synchronous operations are represented by first-class values called events. Events can be combined in various ways, allowing a user to define new synchronization abstractions (e.g., remote procedure call), which have equal status with the built-in operations. This paper describes this mechanism and presents a new implementation of events as part of a coroutine package for Standard ML. The coroutine package is written entirely in SML, using first-class continuations, and provides very light-weight processes. First-class continuations provide a natural way to represent events that closely follows an operational semantics for events.