New Generation Computing, 7 (1990) 341-364 OHMSHA, LTD, and Springer-Verlag 9 OHMSHA, LTD. 1990 A Functional Style of Programming with CSP-Like Communication Mechanisms A. K. GOSWAMI Department of Computer Science, University of Warwick, Coventry CV4 7AL, U. K. L. M. PATNAIK Department of Computer Science and Automation, lndian Institute of Science, Bangalore 560 102, India. Received 2 February 1986 Revised manuscript received 2 May 1988 Abstract This paper introduces CSP-like communication mecha- nisms into Backus' Functional Programming (FP) systems extended by nondeterministic constructs. Several new functionals are used to describe nondeterminism and communication in programs. The functionals union and restriction are introduced into FP systems to develop a simple algebra of programs with nondeterminism. The behaviour of other functionals proposed in this paper are characterized by the properties of union and restriction. The axiomatic semantics of communication constructs are presented. Examples show that it is possible to reason about a communicat- ing program by first transforming it into a non-communicating program by using the axioms of communication, and then reasoning about the resulting non-communicating version of the program. It is also shown that com- municating programs can be developed from non-communicating programs given as specifications by using a transformational approach. Keywords: Functional Programming, Nondeterminism, Communication, Program Verification, Program Transformation. w Introduction Functional Programming (FP) Systems 2) are considered to have great potential for becoming the programming languages for future generation com- puters. The principal aspects of such a programming system arc that parallelism in programs can conveniently be specified and a simple yet powerful program-