Skip to main content

Functional programming and communicating processes

Some design considerations for a functional operating system

  • Conference paper
  • First Online:
PARLE Parallel Architectures and Languages Europe (PARLE 1987)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 259))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

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.)

    Google Scholar 

  • R. J. Duncan "Using the Miranda Screen Editor MEDIT" University of Kent Computing Laboratory, 1986.

    Google Scholar 

  • D. P. Friedman, D. S. Wise "Applicative Multiprogramming", Indiana University Computer Science Department, Technical Report 72, January 1978.

    Google Scholar 

  • P. Henderson "Purely Functional Operating Systems" in Functional Programming and its Applications, eds Darlington, Henderson and Turner, CUP 1982.

    Google Scholar 

  • C. A. R. Hoare "Communicating Sequential Processes" Prentice Hall International 1985.

    Google Scholar 

  • S. B. Jones "Abstract Machine Support for Purely Functional Operating Systems", Oxford University Programming Research Group Technical Monograph 34, August 1983.

    Google Scholar 

  • G. Kahn, D. McQueen "Coroutines and Networks of Parallel Processes" in IFIP 77, North Holland.

    Google Scholar 

  • R. Milner "A Calculus of Communicating Systems" LNCS 92, Springer-Verlag 1980.

    Google Scholar 

  • R. Milner "The Standard ML Core Language", University of Edinburgh Department of Computer Science, October 1984.

    Google Scholar 

  • S. Peyton-Jones "The Implementation of Functional Programming Languages", Prentice Hall International, March 1987.

    Google Scholar 

  • W. Stoye "A New Scheme For Writing Functional Operating Systems", Cambridge University Compter Laboratory Technical Report 56, 1984.

    Google Scholar 

  • W. Stoye "The Implementation of Functional Languages using Custom Harware" Ph D Thesis, Cambridge University Computer Laboratory, December 1985.

    Google Scholar 

  • D. A. Turner "SASL Language Manual", St Andrews University Department of Computational Science, December 1976.

    Google Scholar 

  • 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)

    Google Scholar 

  • D. A. Turner "An Overview of Miranda" SIGPLAN Notices, December 1986.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. W. de Bakker A. J. Nijman P. C. Treleaven

Rights and permissions

Reprints 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

Publish with us

Policies and ethics