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 specific needs in this domain, including
strongly typed support for low-level data structures and facilities for
explicit memory accounting.