Interim OS is a radical new operating system with a focus on minimalism. It steals conceptually from Lisp machines (language-based kernel) and Plan 9 (everything is a file system). It boots to a JITting Lisp-like REPL and offers the programmer/user the system's resources as filesystems.
Interim runs on:
Raspberry Pi 2 (Broadcom VideoCore4/ARMv7, Bare Metal)
Olimex Olinuxino (Freescale IMX233/ARMv5, Bare Metal)
ARM5+ Linux (Hosted)
Intel/AMD x64 Linux (Hosted)
> Interim OS is a radical new operating system with a focus on minimalism. It steals conceptually from Lisp machines (language-based kernel)
These two concepts being so close together ("minimalism" and "Lisp") is practically an oxymoron, as far as Common Belief Structures go.
Minimalism is 6502 machine code as written by someone who honestly believes assemblers make code go slower. Don't you know that? /s
Meanwhile, this:
> It boots to a JITting Lisp-like REPL
... is basically Dalvik/Android. It's what we run on our phones, except our phones use Java, not Lisp, because Lisp Is Slow. Dogma. Can't challenge it. People look at you funny.
Hi, author here. Thank you all for the positive feedback. This motivates me a lot to seriously continue this project. I have a port to i386 (bare metal) in the pipeline and a lot of clean-up to do. Also, I'd be glad to hear your ideas for areas of use / improvements, what traps not to fall into et cetera. Cheers!
Technical ability is perhaps common but having the right focus is, sadly, rare. It's the difference between someone who says they could do or did something many years ago versus the the person who actually does it, _now_, when it is sorely needed.
Computing today is in dire need of _true_ minimalism, IMHO.
Creating the RPi 2 SD card is really not hard, you can just download the .tgz from the website. I do not think that the RPi ships with a default OS anyways?!
One thing seems off in that description:
If the end of the list is represented as pointer to pair of nils then the last element of a list cannot contain nil. The traditional LISP representation is simply a nil pointer for end. '() is nil (NULL in C.)
I don't immediately see why he is not just using NULL for nil but Interim is nonetheless more conventional than it may seem. It does use nil for '() (see [1]) and it evaluates (car nil) to nil and (cdr nil) to nil just like Common Lisp does. The last element of a list may be nil because list elements always appear in car positions whereas it is always the cdr position that one checks to identify the end of the list. If you walk a list without checking for nil, then you will appear to find a list that ends with an unending sequence of nil elements (as is the tradition!). For example, try (third nil) in Common Lisp; you will see a result of nil and no error.
Interim
Interim OS is a radical new operating system with a focus on minimalism. It steals conceptually from Lisp machines (language-based kernel) and Plan 9 (everything is a file system). It boots to a JITting Lisp-like REPL and offers the programmer/user the system's resources as filesystems.
Interim runs on: