Abstract
Concurrent ML (CML) is a programming language that integrates high-level abstraction mechanisms with concurrency primitives. Like other similar, recent languages, CML embodies the idea that concurrent programming can be done in a modern high-level language like ML. The fundamental new ingredient is the notion of a (polymorphic) event. This is a piece of code packaged as a new abstraction. Combinators are provided to build new events from old ones. The key subtlety is the interaction of external choice with abstraction. Ordinary functional abstraction conceals the communication actions on which choices need to be made. The event mechanism allows one to build abstractions that expose the communication. The language CML features mobility, polymorphism, and ordinary lambda-abstraction as well as events. In this article we discuss the basic features and explain how CML can be used to implement new concurrent abstractions.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1997 Springer-Verlag New York, Inc.
About this chapter
Cite this chapter
Panangaden, P., Reppy, J. (1997). The Essence of Concurrent ML. In: Nielson, F. (eds) ML with Concurrency. Monographs in Computer Science. Springer, New York, NY. https://doi.org/10.1007/978-1-4612-2274-3_2
Download citation
DOI: https://doi.org/10.1007/978-1-4612-2274-3_2
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4612-7483-4
Online ISBN: 978-1-4612-2274-3
eBook Packages: Springer Book Archive