A new Lisp-based OS that hearkens back to the old days of comprehensible computers

Liam Proven lproven at gmail.com
Tue Sep 29 07:20:55 CDT 2015

A little offtopic but I hope of some interest.

I rather miss the days of small, simple, 8-bit computers which a
single non-specialist could really get inside and understand.

The latest OS I've seen which addresses this longing is Interim.


This is most of the introduction from the explanatory paper:

Computers, networks and the software running them today are shrouded in
mysteries and corporate secrecy. As miniaturization progresses in the name
of mobility and energy-efficiency, an increasing amount of complex
functionality is crammed into ever smaller System-on-Chip dies.

The so-called "Home computers" of the 1980s contained comparably larger
and simpler circuit boards with blocky, easily discernible DIP (Dual
in-line package) components and circuits that could be visually understood
by the human eye. The central processing unit (CPU) was easily identified
by its size and exposed placement. The separate memory chips were neatly
arranged like terraced houses. The computers worked in pedestrian
single-digit-Mhz speeds and memory was measured in kilobytes. They shipped
with handbooks that taught a novice reader how to program the machine, and
a circuit diagram of the whole machine – useful for repairs – was easily

In the 1980s home computer era, operating systems where typically stored
in read-only memory (ROM) chips. As in modern proprietary operating
systems, the source code was not directly available, but this was not
strictly necessary, as they were written in assembly language and not
"compiled" from a higher level language. Commented "dis-assemblies",
machine code listings, were available in printed book form [Schineis1984]
for popular computers like the Commodore 64 and its "KERNAL" OS and BASIC
language interpreter.

Today, we have Linux, probably the most successful open source Unix-like
operating system and the BSD family of OSes, but these systems and most of
the platforms they run on (PCs, ARM-based telephones) are so complex and
contain so many obscure components that no single book can describe their
operating principles in full detail, and trying to understand and master
them is a task that takes many years of study.

With "Interim", I try to describe a computer and operating system that
takes advantage of modern-day hardware technology while ideally being
fully comprehensible in a couple of days. My strategy is to use minimalism
and generic, reusable patterns wherever possible while learning from
historical, ultimately unsuccessful but valuable attempts like Lisp
machines or the operating system Plan 9 from Bell Labs [Pike]. The Interim
system is supposed to be a pointer in the right direction, not a perfect
blueprint, and a documentation of my own experimental attempts. Others may
build upon these ideas.

(Yes, it's Lisp-y.)

The previous OS with this view being TempleOS: http://www.templeos.org/

This is a nice explanatory quote:

The main reasons TempleOS is simple and beautiful are because it's
ring-0-only and identity-mapped.  Linux wants to be a secure,
multi-user mainframe.
That's the vision for Linux.  That's why it has file permissions.  The
vision for
TempleOS is a modern, 64-bit Commodore 64.  The C64 was a home computer
mostly used for games.  It trained my generation how to program.  It was simple,
open and hackable.  It was not networked.  The games were not multimedia works
of art, but generated programmatically with innocent, programmer (non-artist)
quality graphics.  It was simple and unsecure.  If you don't have malware
and you don't have bugs, protection just slows things down and makes the code

Source: http://www.templeos.org/Wb/Home/Wb2/TempleOS.html

Liam Proven • Profile: http://lproven.livejournal.com/profile
Email: lproven at cix.co.uk • GMail/G+/Twitter/Flickr/Facebook: lproven
MSN: lproven at hotmail.com • Skype/AIM/Yahoo/LinkedIn: liamproven
Cell/Mobiles: +44 7939-087884 (UK) • +420 702 829 053 (ČR)

More information about the cctalk mailing list