Live data from Hacker News

Lisp Operating System (2015)

metamodular.com

1–10 of 63 posts

Re: Lisp Operating System (2015)

#3
For the incremental development the author describes, you can do that atop any GNU/Linux host platform on which your CL implementation runs.

To play with a bootable user experience, before you've replaced the host kernel and device support, you can strip down something like Debian Live. I previously did this for a Racket-based living room appliance project. A simpler example, without Racketisms, that uses only 2 shell scripts (you only need 1; the other is to play partition table tricks), is my earlier Debian Live variant: https://www.neilvandyke.org/lildeb/

I'm also a fan of a variation on the author's approach: have your better/different language get a foothold on a working GNU/Linux system, alongside traditional apps, in a system the user could use as their daily driver, and incrementally replace all of userland. This was my plan for PostmarketOS (though I've suspended my open source work on "non-employable" things): https://www.neilvandyke.org/postmarketos/

The author's approach also seems valid, and worth playing with.

Re: Lisp Operating System (2015)

#4
Whilst difference is good, I am not sure many of the “attack” on the process etc is right. Whilst you can bring anything on old hardware (car and cdr come to mind and those strange intel register format), some gem can be argued instead of rubbish. Process is an isolation, small address is easier to debug if you do not need 64bit address etc. And driver issue ... lisp driver.

Really not sure the whole game.

Re: Lisp Operating System (2015)

#5
I’m all for thinking outside the box but many of the complaints described in that are blamed on UNIX when in fact they were also adopted by a multitude of other non-UNIX platforms and reason they became common was because it simply made more sense for general computing.

For example their “file system” (for want a better description) approach was tried on an IBM mainframe and it proved more cumbersome to maintain than the typical file system approach we have currently.

Also when talking about address spaces he acknowledges traditional memory management exists for security reasons then says that’s not needed in his OS without actually proving how his method either prevents the same attacks nor new ones that effectively result in the same kind of vulnerability (I could think of a few very easy attacks against his OS design).

Similarly the way he combines physical storage and system memory into one device completely overlooks technical limitations of the hardware, the risk of data loss if you don’t manage things correctly, the vastly different storage capacities between the two, nor the fact that basically every OS does this to some extent already via caching.

While it’s nice to go back to the drawing board and rethink certain idioms, this felt more like a half baked rant at UNIX than an objective look at the past and current OS designs.

Re: Lisp Operating System (2015)

#7

They spelt emacs wrong

They didn't name anything, they just provided a description.

I assumed his comment was a reference to the old "joke":

> "Emacs is a great OS, but it lacks a decent text editor."

The comment presumably made because emacs is extended with LISP.

Re: Lisp Operating System (2015)

#8
post #5

I’m all for thinking outside the box but many of the complaints described in that are blamed on UNIX when in fact they were also adopted by a multitude of other non-UNIX platforms and reason they became common was because it simply made more sense for general computing. For example their “file system” (for want a better description) approach was tried on an IBM mainframe and it proved more cumbersome to maintain than…

That was my take away as well. Some interesting ideas - most of which aren't new - but the ideology felt very biased. To a fault even. I would still love to see a working version of this. Or even just a more traditional general computing OS but one which used FP (not necessarily LISP) as its primitive.

Re: Lisp Operating System (2015)

#9
Summary:

- We don't need separate processes if the language we use is inherently safe (e.g., modern Common Lisp).

- Without process isolation, it is possible to share large, complicated and possibly mutable data structures (graphs, arrays, user-defined objects) system-wide.

- Once it is possible to cheaply share and communicate arbitrary data structures, it is pointless to maintain designated 'file system'.

- Not having a file system raises the question of what data should be persistent and what shouldn't. But on a modern computer, it is feasible to just treat all data as persistent (maybe excluding the youngest GC generation).

The best news is that the author is actually working hard to implement this operating system. The first part - the Lisp implementation - is already in a pretty good shape and could be finished within the next two years: https://github.com/robert-strandh/SICL

Post reply on HN