Hacker News new | past | comments | ask | show | jobs | submit login

For example, https://github.com/tonyg/pi-nothing/blob/master/kernel.nothi... does something similar to that blinker. It might not be quite what you're after, because it's only superficially a lisp; more an S-expression veneer over something C-like. Toolchain is the rest of the repo. Currently written in Racket. (BTW this is feasibility-study-level stuff, not production stuff. It's messy as hell because I haven't done even the most rudimentary tidying-up of it for public view. Caveat lector.)

But hardware access - replacing C - is the really easy part. The real power of a lisp/Smalltalk OS is getting away from the hardware in one "rocket jump", as Alan put it. Once you can start using integrated high-level language constructs spanning the whole of the abstraction tower from hardware through user interface, that's when it starts to get fun. The really good stuff is the new abstractions you can unlock. Smalltalk is a far better Unix than Unix, from that point of view.




The way things stand now, the only required piece of application software that a new personal computer needs in order to be viable is a web browser. But once you have that, and the system of your machine is sufficiently compelling, it would work for a great many people.

This is why I think someone is going to build something like an actual top to bottom Lisp/Smalltalk/Whatever machine sooner than we think.

If Smalltalk machines existed, I would buy one today.


Well, wouldn't that just be a JavaScript machine implemented in Smalltalk?


All I meant by bringing up the web browser is that for a personal computer to be usable in reality by a lot of people they'll need a web browser. But just that user application alone gets them really far: email, office productivity, etc. It's a good first application to have in any system.

Therefore we could have all kinds of exotic, bespoke personal computers again, except that unlike the 80s and 90s we now have fairly standardized formats across systems. This gives us the freedom to make whatever kinds of architectures and OSes we want. In this case, that could even include a machine whose board is designed from the ground up to run Lisp or Smalltalk or something we evolve out of those as its operating system.

The web browser that would come with such a default system would be written in one of those languages. Yes, I know making a web browser is an enormous undertaking, but at least some totally new personal computing system wouldn't have to then also implement office productivity etc.


Agreed. I think the best way would be to use Linux as the kernel, maybe with Wayland for display, and Chromium/Firefox in a sandbox, and then the custom OS system running alongside this. Emacs with the Elisp window manager is an example.


I don't think we're on the same page here. You don't need Linux for the kernel. Insofar as there's a kernel, it's the programming environment itself (like Smalltalk) or a set of primitive programs written in that environment (like Lisp).

For graphics you don't need X or Wayland or any of that stuff. BitBlt was able to handle graphics in Smalltalk, because the hardware of the Alto (via microcode) was setup to allow Smalltalk to handle all graphics. If you truly wanted something optimized, something like Nile/Gezira and DSLs written in the environment could work too.

The whole point is that such a system would need to be redesigned and rebuilt from the hardware level on up. A difficult task, to be sure, but the reward is invaluable: the ability to reason about the entire system through the system itself.


Oh. For me it's just pointless drudgery to remake everything like that. I want a new fully coherent and portable system using an existing kernel and graphics layer for bootstrapping. I mean, Emacs or Squeak are already almost there as far as I'm concerned.


Could you elaborate? It's a bit cryptic to me, but it sounds exciting!


It's possible to develop a personal computer whose hardware has been designed to run a programming environment as its operating system. In fact, these existed before. Lisp machines did it, and Smalltalk was developed precisely as this kind of system (on the Alto).

In the 80s and 90s when there was a lot of diversity in consumer personal computers, we were all missing a couple of important things: standards and standard interfaces / formats. The web is one such standard. If a system has a web browser, it can do a hell of a lot with other types of computers everywhere. But also notice how today, unlike 10-15 years ago, we don't worry as much about file formats etc. We don't worry as much about which piece of software runs on which platform, in part because of other standards.

All of that frees us up to try more unique personal computing environments again. At minimum, any such system would need to have a web browser as a user level application, since it already gives them access to email, calendar, and basically the rest of the world. In other words, the web browser no encompasses all of this crap that personal computing environments needed to develop in order to have something usable.

Personally I'd want something Smalltalk-like all the way down in the system. Want to inspect TCP/IP packets as they come and go? No problem, they're just Smalltalk objects like everything else in the system. Stuff like that.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: