Live data from Hacker News

Lisp Operating System (2015)

metamodular.com

31–40 of 63 posts

Re: Lisp Operating System (2015)

#31
post #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 hav…

> We don't need separate processes if the language we use is inherently safe (e.g., modern Common Lisp). I note the year of the article, which was before Spectre and friends showed that this is not a reasonable assumption these days[1]. So does this mean LispOS is doomed? [1]: https://arxiv.org/abs/1902.05178

If you have a single address space you don't need Spectre to be able to discover any aspect of the running system.

Re: Lisp Operating System (2015)

#32
post #31

Earlier quoted context omitted.

> We don't need separate processes if the language we use is inherently safe (e.g., modern Common Lisp). I note the year of the article, which was before Spectre and friends showed that this is not a reasonable assumption these days[1]. So does this mean LispOS is doomed? [1]: https://arxiv.org/abs/1902.05178

If you have a single address space you don't need Spectre to be able to discover any aspect of the running system.

How would you then circumvent the protection?

Re: Lisp Operating System (2015)

#34
post #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 hav…

> We don't need separate processes if the language we use is inherently safe (e.g., modern Common Lisp). I note the year of the article, which was before Spectre and friends showed that this is not a reasonable assumption these days[1]. So does this mean LispOS is doomed? [1]: https://arxiv.org/abs/1902.05178

Only doomed on broken hardware. I think that mitigating Spectre and similar attacks via software is a losing battle. Eventually hardware will have to be fixed to properly isolate microarchitecture state during speculative execution.

Also technically we still don't need separate processes to mitigate spectre, we just need to make sure that microarchitecture state is flushed when changing security domains. This is often accomplished with processes, but it could also just be accomplished by marking system methods in a LispOS as "priviledged" and decorating them to flush the microarchitecture state when called.

Re: Lisp Operating System (2015)

#35
post #31

Earlier quoted context omitted.

> We don't need separate processes if the language we use is inherently safe (e.g., modern Common Lisp). I note the year of the article, which was before Spectre and friends showed that this is not a reasonable assumption these days[1]. So does this mean LispOS is doomed? [1]: https://arxiv.org/abs/1902.05178

If you have a single address space you don't need Spectre to be able to discover any aspect of the running system.

Only if you're given raw memory access, which you are not in Lisp.

Re: Lisp Operating System (2015)

#36
post #31

Earlier quoted context omitted.

If you have a single address space you don't need Spectre to be able to discover any aspect of the running system.

Only if you're given raw memory access, which you are not in Lisp.

You were given raw memory access on historical Lisp Machines.

Re: Lisp Operating System (2015)

#37
post #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 hav…

"inherently safe" - for which definition of "safe"?

Re: Lisp Operating System (2015)

#38
post #25
post #7

Earlier quoted context omitted.

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.

Emacs is written in Emacs LISP, which is its own language. The really performance-critical stuff is written in C, as is the interpreter, but that’s it.

That's ostensibly what I said wasn't it? Sorry but I can't tell if you were agreeing or disagreeing with me.

Re: Lisp Operating System (2015)

#39
post #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 hav…

> 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). I'd be concerned about the UX issue of ephemeral vs. permanent changes here. I doubt that files and save/revert operations are the best we can do, but I think there's a lot of value in the fact t…

If you squint a bit, the web is a bit like a giant multi-user operating system. We certainly save a lot of data in it, and expect it to persist. But we don't generally do that using a file metaphor, and i don't hear people crying out for one. My comments on HN don't look like files to me. Nor do my tasting notes on Untappd, my shitposts on various Slacks, my projects on GitHub (which contain files, but aren't files themselves), etc. So we already have an existence proof for an operating system without files.

Now, whether the web would be better if everything was more file-like is an open question. That would be very interesting, and probably closer to the Nelsonian ideal.

Re: Lisp Operating System (2015)

#40
post #23
post #16

Earlier quoted context omitted.

Dan Ingalls wrote similarly in his Design Principles Behind Smalltalk [1], noting that "An operating system is a collection of things that don't fit into a language. There shouldn't be one." [1] https://www.cs.virginia.edu/~evans/cs655/readings/smalltalk....

That makes me reconsider the Plan9 OS, where everything is a file system. Then, nothing fits in the language (C)?

Well, the extremely generic interface of Plan9 (plaintext files) can make you use any language. It is the extreme difference with a OS which is in itself one language.
Post reply on HN