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