• Contents
  • Abstract Chapter 2
  • Abstract Chapter 3

  • Abstract Chapter 4

  • Abstract Chapter 5
  • Abstract Chapter 6
  • Summary
  • Samenvatting

  • Concurrent Interactive Functional Processes

    In this chapter 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. Inter-process 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 chapter 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.