Abstract
Taking the requirements of the Kent operating system project as background, we have sketched a history of some of the methods by which people have sought to represent communicating processes in a functional programming language. It seems to us that the scheme of William Stoye is the first that permits the description of non deterministic behaviour without violating the requirements of referential transparency. We have described our own modifications to the Stoye scheme, permitting static type security in messages, synchronous communication, and separately garbage collected heap spaces.
Whether this scheme is sound as it stands or will require some further modifications in practice, we hope to find out by attempting to use it to build a real system.
From a theoretical point of view an important challenge is to show that equational reasoning can be applied to scripts involving ‘fork’ in a way that allows useful inferences about the behaviour of the processes.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
S. Abramsky, R. Sykes "SECD-M: a Virtual Machine for Applicative Programming" in proceedings IFIP international conference on functional programming languages and computer architecture, Nancy, France, September 1985. (Springer LNCS vol 201.)
R. J. Duncan "Using the Miranda Screen Editor MEDIT" University of Kent Computing Laboratory, 1986.
D. P. Friedman, D. S. Wise "Applicative Multiprogramming", Indiana University Computer Science Department, Technical Report 72, January 1978.
P. Henderson "Purely Functional Operating Systems" in Functional Programming and its Applications, eds Darlington, Henderson and Turner, CUP 1982.
C. A. R. Hoare "Communicating Sequential Processes" Prentice Hall International 1985.
S. B. Jones "Abstract Machine Support for Purely Functional Operating Systems", Oxford University Programming Research Group Technical Monograph 34, August 1983.
G. Kahn, D. McQueen "Coroutines and Networks of Parallel Processes" in IFIP 77, North Holland.
R. Milner "A Calculus of Communicating Systems" LNCS 92, Springer-Verlag 1980.
R. Milner "The Standard ML Core Language", University of Edinburgh Department of Computer Science, October 1984.
S. Peyton-Jones "The Implementation of Functional Programming Languages", Prentice Hall International, March 1987.
W. Stoye "A New Scheme For Writing Functional Operating Systems", Cambridge University Compter Laboratory Technical Report 56, 1984.
W. Stoye "The Implementation of Functional Languages using Custom Harware" Ph D Thesis, Cambridge University Computer Laboratory, December 1985.
D. A. Turner "SASL Language Manual", St Andrews University Department of Computational Science, December 1976.
D. A. Turner "Miranda: A non-strict functional language with polymorphic types" in proceedings IFIP international conference on functional programming languages and computer architecture, Nancy, France, September 1985. (Springer LNCS vol 201)
D. A. Turner "An Overview of Miranda" SIGPLAN Notices, December 1986.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1987 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Turner, D. (1987). Functional programming and communicating processes. In: de Bakker, J.W., Nijman, A.J., Treleaven, P.C. (eds) PARLE Parallel Architectures and Languages Europe. PARLE 1987. Lecture Notes in Computer Science, vol 259. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-17945-3_3
Download citation
DOI: https://doi.org/10.1007/3-540-17945-3_3
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-17945-0
Online ISBN: 978-3-540-47181-3
eBook Packages: Springer Book Archive