Overview
Ulix (Literate Unix) is a Unix-like operating system currently in development at i1. We use D. E. Knuth's concept of Literate Programming for the implementation and documentation. The ultimate goal is 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.
Ulix is written in C and assembler for the Intel architecture. Currently no source code is available because the project is in its early stages. However, there's a development blog.
Literate Programming Tools
Here we give links to some literate programming tools. [This section will be filled with links and downloadable software during the next days.]
- 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.
- Download: The PretzelBook (Felix Freiling, 1998)
- Sources: [pretzel_2.0n-2-0.3.tar.gz] (hosted on Debian server), compilation tested on Debian, Mac OS X
- noerr is a noweb addon that makes debugging literate programs easier.
- LEP (Literate Programming for Eclipse) is an Eclipse plug-in that enables literate programming in Eclipse.
