I love this quote (from Interlisp-D: Overview and Status):
"Interlisp is a very large software system and large software systems are not easy to construct. Interlisp-D has on the order of 17,000 lines of Lisp code, 6,000 lines of Bcpl, and 4,000 lines of microcode."
Consider this: at any moment in history, the prevailing state the art in computing and information systems are characterized has huge, very large, massive, etc. Some years later, it's a portable device with a battery, and we forgive and snicker at those naïve souls that had no idea at the time.
It's still true today. Whatever thing you have in mind: vast software systems running clouds, megawatt powered NVidia GPU clusters, mighty LLMs... given 10-20 years, the equivalent will be an ad subsidized toy you'll impulse purchase on Black Friday.
You're instinct will be to reject this as absurd. Keep in mind, that is the same impulse experienced by those that came before us.
~wavy lines~~ I've never used this in anger, but I owned a second-hand Xerox Daybreak for a while to play around with. Later, there was a some freely available project (I've now forgotten) that used Interlisp running on an emulator running on a DEC Alpha, and so I added some minor bits to NetBSD's Ultrix compatibility.
Here's my idea: stick a bunch of NVRAM DIMMs into a big server box, along with some ordinary SDRAM. So, say, you get a machine with the first, say, 16GB of RAM is ordinary RAM, and then the 512GB or 1TB of RAM above that in the memory map is persistent RAM. It keeps its contents when the machine is shut off.
That is it. No drives at all. No SSD. All its storage is directly in the CPU memory map.
Modify Interim or Mezzano to boot off a USB key into RAM and store a resume image in the PMEM part of the memory map, so you can suspend, turn off the power, and resume where you were when the power comes back.
Now try to crowbar SBCL into this, and as many libraries and frameworks as can be sucked in. All of Medley/Interlisp, and some kind of convertor so SBCL can run Interlisp.
You now have an x86-64 LispM, with a whole new architectural model: no files, no disks, no filesystem. It's all just RAM. Workspace at the bottom, disposable. OS and apps higher up where it's nonvolatile.
> What does a Lisp Machine of the future look like?
Depends on what one means by that.
Dedicated hardware? I doubt that we’ll ever see that again, although of course I could be wrong.
A full OS? That’s more likely, but only just. If it had some way to run Windows, macOS or Linux programs (maybe just emulation?) then it might have a chance.
As a program? Arguably Emacs is a Lisp Machine for 2025.
Provocative question: would a modern Lisp Machine necessarily use Lisp? I think that it probably has to be a language like Lisp, Smalltalk, Forth or Tcl. It’s hard to put into words what these very different languages share that languages such as C, Java and Python lack, but I think that maybe it reduces down to elegant dynamism?
"Interlisp is a very large software system and large software systems are not easy to construct. Interlisp-D has on the order of 17,000 lines of Lisp code, 6,000 lines of Bcpl, and 4,000 lines of microcode."
So large. :)
http://www.softwarepreservation.net/projects/LISP/interlisp-...
Consider this: at any moment in history, the prevailing state the art in computing and information systems are characterized has huge, very large, massive, etc. Some years later, it's a portable device with a battery, and we forgive and snicker at those naïve souls that had no idea at the time.
It's still true today. Whatever thing you have in mind: vast software systems running clouds, megawatt powered NVidia GPU clusters, mighty LLMs... given 10-20 years, the equivalent will be an ad subsidized toy you'll impulse purchase on Black Friday.
You're instinct will be to reject this as absurd. Keep in mind, that is the same impulse experienced by those that came before us.
https://www.softwarepreservation.org/projects/LISP/interlisp...
https://github.com/Quotation/LongestCocoa
Or Smalltalk or C++,
https://en.wikipedia.org/wiki/Design_Patterns
Or even C,
https://www.amazon.com/Modern-Structured-Analysis-Edward-You...
Point being, people like to blame Java, while forgetting history of enterprise architecture.
Interlisp screenshot: https://web.archive.org/web/20160616231118/http://www2.parc....
Evidently the emulator was later ported to Linux as well.
That said… we need the “lisp machine” of the future more than we need a recreation.
Totally agree.
Here's my idea: stick a bunch of NVRAM DIMMs into a big server box, along with some ordinary SDRAM. So, say, you get a machine with the first, say, 16GB of RAM is ordinary RAM, and then the 512GB or 1TB of RAM above that in the memory map is persistent RAM. It keeps its contents when the machine is shut off.
That is it. No drives at all. No SSD. All its storage is directly in the CPU memory map.
Modify Interim or Mezzano to boot off a USB key into RAM and store a resume image in the PMEM part of the memory map, so you can suspend, turn off the power, and resume where you were when the power comes back.
https://github.com/froggey/Mezzano
https://github.com/mntmn/interim
Now try to crowbar SBCL into this, and as many libraries and frameworks as can be sucked in. All of Medley/Interlisp, and some kind of convertor so SBCL can run Interlisp.
You now have an x86-64 LispM, with a whole new architectural model: no files, no disks, no filesystem. It's all just RAM. Workspace at the bottom, disposable. OS and apps higher up where it's nonvolatile.
I fleshed this out a bit here:
https://archive.fosdem.org/2021/schedule/event/new_type_of_c...
And here...
https://www.theregister.com/2024/02/26/starting_over_rebooti...
There is Mezzano [1] as well as the Interlisp project described in the linked paper and another project resurrecting the LMI software.
[1] https://github.com/froggey/Mezzano
Depends on what one means by that.
Dedicated hardware? I doubt that we’ll ever see that again, although of course I could be wrong.
A full OS? That’s more likely, but only just. If it had some way to run Windows, macOS or Linux programs (maybe just emulation?) then it might have a chance.
As a program? Arguably Emacs is a Lisp Machine for 2025.
Provocative question: would a modern Lisp Machine necessarily use Lisp? I think that it probably has to be a language like Lisp, Smalltalk, Forth or Tcl. It’s hard to put into words what these very different languages share that languages such as C, Java and Python lack, but I think that maybe it reduces down to elegant dynamism?