Abstract
Interactive and embedded applications often require an ability to deal with concurrent operations. In this chapter we give an overview of one way to extend a functional language with concurrency primitives. Unfortunately, the presence of concurrency may make programs harder to reason about because the flow of control is less perspicuous (as is the case when imperative features are present). This calls for the use of automatic techniques to extract the flow of control in a more readable and succinct form so as to validate the overall structure of communication taking place in the program. In this chapter, we show how type and effect systems can be extended with a notion of causal behaviour (in the manner of process algebras) that makes this possible.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag London
About this chapter
Cite this chapter
Nielson, F. (1999). Validating Programs in Concurrent ML. In: Hammond, K., Michaelson, G. (eds) Research Directions in Parallel Functional Programming. Springer, London. https://doi.org/10.1007/978-1-4471-0841-2_17
Download citation
DOI: https://doi.org/10.1007/978-1-4471-0841-2_17
Publisher Name: Springer, London
Print ISBN: 978-1-85233-092-7
Online ISBN: 978-1-4471-0841-2
eBook Packages: Springer Book Archive