House is a demo of software written in Haskell, running in a standalone environment. It is a system than can serve as a platform for exploring various ideas relating to low-level and system-level programming in a high-level functional language. More details are available in our ICFP 2005 paper: A Principled Approach to Operating System Construction in Haskell.
House is based on
qemu -m 256 -fda hOp.flp), or if written to a real floppy disk (
cp hOp.flp /dev/fd0), directly on your PC.
Get a source bundle if you want study the source code, or
modify the source code and compile your own version of
addition to all the required source code, the bundle contains precompiled
Linux binaries of GHC (tested under RH9, FC3, FC4 and Ubuntu 6.06),
so that you can get
started quickly, without first having to compile the hOp version of
ghc-6.2 and its run-time system. To create a floppy image, you also need
to install the
If your Linux distribution uses gcc >=4.0, you may need to change the
CC=gcc line in the
kernel/Makefile to use
an older version of gcc (e.g.
|Source Bundle||Floppy Image||Notes|
|House-0.8.91.tar.bz2||House.flp||Ported to GHC 6.8.2. See Kenny Graunke's page on House.|
|House-0.8.tar.bz2 (26MB)||Updated license info. Interrupt handling fixes.|
|House-0.7.tar.bz2 (26MB)||August 2006 version. Bug fixes.|
|February 2006 version. Includes initial support for TCP and DHCP. Some changes to the interrupt handling.|
||Essentially the version that was demoed at ICFP 2005.|
|April 2005 version.|
|Essentially the version that was demoed at the 2004 Haskell Workshop. It has some Gadget demos, and application binaries that can be run in a separate address space. See screendump-hw2004.png.|
||An early version with some Gadget demo applications. See screendump.png.|
The following applications are available in the House demo:
lsin the shell window to get a list, and the command
run moduleto run one.
tftp run host fileto load and run one.