Article in Journal ()
Jones S & Sinclair A (1989) Functional programming and operating systems, Computer Journal, 32 (2), pp. 162-174.
There is a large class of programming problems to which, at first sight, functional programming does not seem suited: interactive programs and programs which must access external resources such as file stores or communications systems. We take operating systems as the archetype of this class of problems. We show how the lazy evaluation of functional programs, in particular lazily evaluated infinite lists, or streams, can be exploited to write interactive programs. This extends quite naturally to a software design paradigm comprising processes and networks, to the control of peripheral devices, and hence to the design of operating systems. We present a design for a simple, single user, multiprogramming operating system. This demonstrates workable solutions to operating system structuring, to low level device interfacing, to high level application program interfacing, and to resource management. We examine the paradigm illustrated, with reference to alternative approaches which have been proposed.
|Authors||Jones Simon, Sinclair Andrew|
|Publisher||Oxford University Press|
Computer Journal: Volume 32, Issue 2 (1989)