Schema


Schema is a new operating system designed for and mostly implemented in the programming language Scheme. Its base is a fairly portable virtual machine and hardware abstraction, both designed with functional languages in mind. It is a project started by me and Tom Kircher because both of us are dissatisfied with the current state of the art in operating systems which seems to be about ten years behind the rest of the computing industry.

Schema has a focus on both functional programming and on mathematical formalism in computing, especially the provability of complex algorithmic systems. Schema intends to be primarily a research system -- it will have support for everyday computing tasks but will as well be easily extensible in multitudes of different directions.

Schema is not even near fully implemented yet, much less operating (it is a system, though!). Some work has been started on the virtual machine and the Scheme interpreter, and extensive effort is being spent on researching efficiency and implementation strategies. However, the code base is slowly growing daily.

A partially completed paper written by the Schema authors is available. It will be extended as the operating system itself grows and choices are made to go in particular directions. The LaTeX source, DVI files, and PostScript files of the paper are all available here.

Please note that none of this may be up to date. You can email me to request something, or to remind me to update this page. Keeping these pages current is not my highest priority, but I do try to be as responsive as possible to requests.

The following are the TeX sources for the paper.

You may also download the entire tarball which contains the paper, some source code for the VM, and a few other random bits. Please note that the only system on which any of the source code has been tested is a Linux/x86 machine with GCC. I would be interested in hearing about other ones, but I don't plan on worrying about porting considerations until I have a system that does something (anything!) useful.

That's it for now. More to come RSN.