Ulix – a Literate OS

Overview

Ulix (Literate Unix) is a Unix-like operating system that was developed at i1. We used D. E. Knuth’s concept of Literate Programming for the implementation and documentation. The goal was a fully working system which can be used in operating system courses to show students how OS concepts (such as paging and scheduling) can be implemented. Literate programs are very accessible because they can be read like a book; the order of presentation is not enforced by program logic or compiler restrictions, but instead is guided by the implementer’s creative process.

Literate Programming Tools

Here we give links to some literate programming tools.

noweb is a programming-language-independent and document-processor-independent reimplementation of Knuth’s original WEB tool. That means: instead of Pascal (as language) and TeX (as document setter) you can use any sensible combination. The Ulix project uses noweb to interweave C/Assembler code with LaTeX documentation.

pretzel is a generic syntax highlighter which can be used standalone or with noweb.