Hacker News new | ask | show | jobs
by lispm 907 days ago
> They are amazing but they cannot easily move to different machines and sharing parts of them is hard to separate from the rest of the living organism.

The code of a Symbolics Lisp Machine is written in so-called "systems". A "system" is a collection of files in a directory. Moving the code to another machine is either a) a copy of the directories to another directory or b) dumping an archive to copy to somewhere else or c) most of the time not necessary, since the Lisp Machine edits files on NFS file servers , which makes it possible to share the Lisp code directly with other Lisp systems in the network.

The Symbolics keeps track of versions of files and systems, something other Lisp systems typically don't do themselves.

> As such, the Linux "stability" combined with x86 won, same as C and friends because of the tooling that made the code "portable".

There is little stability. The main theme is ever evolving fragmentation. Linux / BSDs is fragmented in zillions distributions, variants, versions, competing library variants, software archive systems, ... and open source UNIX is fragmented into various BSDs, Linux variants, ... Look at some portable code, it uses a huge configuration checker, which looks for all the variations of code and libraries. Zillions of checks...

1 comments

yes but it is portable. On the lisps machine, you could not port to a different type of machine by another producer in general, even less across version. The Linux ABI is stable.
Sure you could, if you wanted. There were a bunch of software developed on the Lisp Machines, which were available over a range of different machines. In 1984 Common Lisp was presented as defined language, available from PCs up to supercomputers (Cray, Connection Machines). Common Lisp was the standard language for applications in Lisp. Symbolics itself had a Lisp system for the PC/Windows, which was thought as a delivery system, called CLOE (used for example to run Macsyma on the PC, IIRC). Early on a bunch of Lisp applications were ported to UNIX-based Common Lisp. These platforms appeared in the mid/end 80s (Allegro CL, Lucid CL, LispWorks, CMUCL, AKCL, ...) and especially the first three got very powerful. All the big expert system development tools were on those, too. The Symbolics graphics suite was ported to UNIX and Windows NT using Allegro CL. Stuff like that can be more demanding, given on how many machine features are needed.

The whole motivation to develop Common Lisp (which is mainly based on the ZetaLisp language for the Lisp Machine) was to have a common language for application development and delivery across operating systems and machine types.

When the Common Lisp Object System was developed in the end 80s, it was developed for ~15 Lisp implementations, from Lisp Machines to Apple's Macintosh Common Lisp.

To give you a recent example: ASDF is a built tool for Common Lisp software. It's 13k lines written in Common Lisp. I have here literally the same source file (Version 3.3.6) loaded into SBCL (macOS 14.2) and a Lisp Machine (Symbolics Portable Genera 2.0.5, running on an iMac Pro): https://i.redd.it/h94h3emjap8c1.png

> The Linux ABI is stable.

That's only a part of the Linux fragmented eco-system: CPUs, distros, ... A few days ago I have installed the Linux subsystem for Windows 11 on an ARM64 machine. Obviously it is not that easy to get all kinds of Linux software running on it...