Concurrent Interactive Processes in a Pure Functional Language Peter Achten and Rinus Plasmeijer Computing Science Institute, University of Nijmegen, Toernooiveld 1, 6525ED, Nijmegen, The Netherlands peter88@cs.kun.nl,rinus@cs.kun.nl Abstract In this paper we present an operational semantics for concurrent interactive processes in the purely functional programming language Clean. An interactive process is in essence a state transition system which apart from its logical state can also access the state of the file system, do high-level Graphical User I/O, and do inter-process communication via synchronous and asynchronous message passing and data sharing. Interprocess communication is type-safe and polymorphic. The semantics of the system is based on earlier work on the Interleaved Event I/O system. In this paper we identify limitations of the interleaved model in the context of concurrent processes and propose a new process semantics that does allow a concurrent implementation. The method basically introduces a Remote Procedure Call communication scheme and demonstrates how to apply this scheme to obtain a concurrent process semantics. The resulting system is the Concurrent Event I/O system. The operational semantics is given in Clean itself. As a result the concurrency system is completely functional because the construction is done within the pure functional framework.