Hello from the Medley Interlisp Project! We revive and modernize the Medley Interlisp extensible graphical operating and programming environment created at Xerox PARC.
We post news & updates, tips, historical info, and more. We look forward to connecting with researchers, software preservation experts, Lisp programmers, retrocomputing enthusiasts, and anyone interested.
@interlisp The Medley Interlisp Project lands on the fediverse with the official Mastodon account @interlisp ran by yours truly. It's the beginning of a new adventure in Lisp and the history of computing you're invited to join.
@amoroso @interlisp I don't remember anything about Lisp but somehow it's on a list of "Things I Probably Would Not Like". That GUI's right up my alley though. Didn't Wirth sabbatical at PARC before his teams built Lilith and Ceres workstations?
@lopta Yes, Wirth did spend two sabbaticals at PARC and was inspired by the graphical environments being developed there such as Mesa, Smalltalk, and Interlisp-D.
@amoroso @interlisp Did Mesa involve 3D? Years ago I used MesaLib to render 3D on 2D (colour) hardware. I believe it now includes support for 3D hardware acceleration.
@lopta I don't know whether PARC's Mesa provided 3D libraries but it's unlikely.
@amoroso @interlisp Looking at Wikipedia, Mesa3D seems unrelated but remarkably successful.
@lopta @amoroso @interlisp Yes I love the GUI too. Would be a good start for the 50 years computer project with e-ink screen IMHO. Is Interlisp is older than 50? No problem, just call it the One Century Computer! https://ploum.net/the-computer-built-to-last-50-years/index.html
@ggtr1138 The work on what would become Interlisp began in the second half of the 1960s, so the environment is likely older than half a century. More details on those events:
@lopta You may also like this collection of Medley screenshots:
@amoroso thanks for bringing this interesting software and culture to us.
@sgharms Thanks, it's a real joy for me as I'm having too much fun with Medley.
@amoroso my staff and I have been wrestling with the development model here: what IF a minimal OS was groomed or altered to be a specific program. What if it stayed up and didn’t have volatile state wiped? How does “the OS is the program exceed/falter versus the web or osx/win64 model. The mental models aren’t clear—but hints were found in the #Unix haters handbook where those who had #lispm mourn what they lost when they were forced to Unix
@sgharms If you mean a minimal Lisp OS, if it stayed up I don't think there would be much difference with traditional operating systems: the specific program would continue to run in the minimal Lisp environment.
What's unique of a Lisp Machine environment is that the operating system, the development environment and tools, the programs under development, and the deployed programs run inside and share the same address space. Each of these entities can access, interact with & change the others.
1.
I think what I find interesting about e.g. Medley is that instead of e.g. the web stack where I have to get a minimal UI (html; or factored into the JS framework du jour) and roll in a styling framework (e.g. Tailwind) the minimal “OS” of medley provides all that out of the box. I consider all the time we’ve wasted doing this boilerplate chore again and again for every app.
Am I correct in sensing Medley is an escape from that?
Or perhaps to rephrase: what does Medley offer versus say a minimal *ix with X and twm?
2.
RE: your characterization of the LispM: I think something many of us miss is how this differs from a shell on a Unix system? Is it b/c the process model segregates user land from your application?
@sgharms 1. Back then Medley offered what now we consider a full desktop distro like Ubuntu or Fedora, not just a minimal one with X and twm. Medley offered OS kernel, window system, network stack, print manager, Lisp interpreters and compilers, Lisp libraries, debugger and dev tools, applications (eg word processor), and more. Everything had a public Lisp API or could be called and accessed from Lisp, down to the individual function (think calling a single Firefox C++ function while it runs).
@sgharms 2 Yes, that's more or less it. Medley is as if you could call or access a single piece of the kernel or a running program from the shell or other parts of the system (the Firefox example in 1.).
@sgharms Here I opened an editor to modify the system function (think kernel, window system) that creates a window, CREATEW. See the dumb comment near the end.
I could, say, add some logging code, recompile (just the function, not the whole system), and have the new behavior instantly running in the updated system at the next window opening.
@sgharms In addition, Medley is pretty much Lisp all the way down. Nearly every single piece of the system, from the lowest to the highest layers, is Lisp and can be accessed/called from Lisp (eg at some point the full TCP/IP stack was written in Lisp).
Whereas on Linux you have a shell language, compilers for various languages, more languages in your web stack, and so on. There's little or no interoperation and data sharing between these languages and the processes they run in.
@amoroso @sgharms
"In the old days" - Interlisp-D was Lisp all the way down, until you got to the microcode implementation of the Lisp instruction set. All features of an OS were present - file system, drivers for the hardware like disks, network stack, process management, everything -- was all running, debuggable, changeable in the same space as any other Lisp functions you wrote. "Teleraid" was like remote GDB - reach in and look at/modify a crashed machine, etc.
@interlisp I'm very excited. Reading the supporting documentation for interlispd changed my life (for just one reason, I am incredibly desirous of those mixed textured bitmaps + text files), and the programs in LISPUSERS like DONZ for another. Of course iconified programs like your CALENDAR would chatter at you personably about their internal state.
@prahou do you have some of your interlisp medley themed artwork at hand?
@screwtape Thanks for the kind words, it's great to see Medley can still make an impact. And, as you noticed, exploring the system pays off.
@prahou @screwtape @interlisp
_Lies, Inc_ by PKD #ubik_book_club
@interlisp can you point me to some resource that would explain how sedit is organized and where or how I should start reading its source code for it to make sense?
@PaniczGodek Some documentation on the internals of SEdit is available here:
https://files.interlisp.org/medley/docs/internal/sedit
If you have further questions you may post them here:
@PaniczGodek You're welcome, if you need anything else feel free to ask.