Writing Systems Software in a Functional Language
Iavor S. Diatchki, Thomas Hallgren, Mark P. Jones, Rebekah Leslie, Andrew Tolmach
Abstract
Iavor S. Diatchki, Thomas Hallgren, Mark P. Jones, Rebekah Leslie, Andrew Tolmach
Abstract
Current practices for developing systems software usually rely on fairly low-level programming languages and tools. As an alternative, our group has been investigating the possibility of using a high-level functional language, Haskell, for kernel and device driver construction, with the hope that it will allow us to produce more reliable and secure software. In this paper, we describe our experience developing a prototype operating system, House, in which the kernel, device drivers, and even a simple GUI, are all written in Haskell. The House system demonstrates that it is indeed possible to construct systems software in a functional language. However, it also suggests some ideas for a new Haskell dialect with features that target specic needs in this domain, including strongly typed support for low-level data structures and facilities for explicit memory accounting.
OpenAlex reports 1 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Current practices for developing systems software usually rely on fairly low-level programming languages and tools. As an alternative, our group has been investigating the possibility of using a high-level functional language, Haskell, for kernel and device driver construction, with the hope that it will allow us to produce more reliable and secure software. In this paper, we describe our experience developing a prototype operating system, House, in which the kernel, device drivers, and even a simple GUI, are all written in Haskell. The House system demonstrates that it is indeed possible to construct systems software in a functional language. However, it also suggests some ideas for a new Haskell dialect with features that target specic needs in this domain, including strongly typed support for low-level data structures and facilities for explicit memory accounting.
Key concepts: Haskell, Computer science, Functional programming, Programming language, Construct (python library), Domain-specific language, Kernel (algebra), Software