Purely Functional Operating System

Purely functional operating systems emphasize DeclarativeProgramming, and avoidance of MutableState and nondeterminism in programming applications. The OS itself may or may not be written in a purely FunctionalProgrammingLanguage. The most notable examples are GoboLinux and the actively maintained NixOs.

This is an active area of research, although with few practical implementations. Some references (were dead links to citeseer):

 Towards a Strongly Typed Functional Operating System (2003)  (Make Corrections)  (11 citations)
 John Cupitt, `The design and implementation of an operating system in a functional language', Ph.D. Thesis, Computing Laboratory, University of Kent at Canterbury, October 1990.
 Peter Henderson. Purely functional operating systems. In J. Darlington, P. Henderson, and D. A. Turner, editors, Functional programming and its applications, pages 177--192. Cambridge University Press, 1982.
 Simon B. Jones. Abstract machine support for purely functional operating systems. Technical Report 15, Stirling, Dept. Comp Sci., 1983. Also Oxford University Computing Laboratory, Programming Research Group, Monograph PRG--34, August 1983.
 Simon B. Jones. A range of operating systems written in a purely functional style. Technical Monograph PRG-42, Oxford University Computing Laboratory, September 1984.
 W.R. Stoye. A new scheme for writing functional operating systems. Technical Report Technical Report 56, Cambridge University, Computer Lab, 1984.
 David A. Turner. An approach to functional operating systems. In D.A. Turner, editor, Research Topics in Functional Programming, pages 199--218. Addison-Welsey, Reading, MA, 1990.

The referred articles seem not to be available online. The references to CleanLanguage and Famke (the functionas OS) are broken.


There's also hOp/House, which is the GHC HaskellLanguage runtime on the bare metal - http://programatica.cs.pdx.edu/House/. -- ShaeErisson


See also DeclarativeConcurrency, KillMutableState, OperatingSystem.


CategoryFunctionalProgramming CategoryOperatingSystem


EditText of this page (last edited January 18, 2014) or FindPage with title or text search