IMO a lot of it is just that all of the ingredients for a modern desktop were there for anyone with 10s of thousands of dollars of hardware, so there was both cross-pollination as well as parallel evolution of ideas.
The invention of the sewing machine is kind of like this; there was a point at which we were very close to being able to make a sewing machine, and several people solved a subset of the problems; the union of that subset gave us a sewing machine, so singling out a single inventor is somewhat non-sensical.
Most lisp machines were specifically targeted at developers while smalltalk at Xerox was more targeted at office productivity. Interestingly enough Xerox hired the BBN team that made lisp machines, and the Xerox star was made to run lisp as well.
Smalltalk was influenced by Lisp, and in turn, Smalltalk influenced the subsequent Lisp systems; that's where OOP support appeared in Lisp, first with LOOPS and MIT Flavors, ultimately with CLOS on ANSI Common Lisp.
Common Lisp also is "image-based development", just like Smalltalk. This is a direct ST influence.
Lisp from the early 60s used already images. It went from there to Smalltalk.
I believe you, but, do you have some reference? I would assume this came after Lisp 1.5, right?
http://bitsavers.org/pdf/mit/rle_lisp/LISP_I_Programmers_Man...
Page 66f: SET card writes a memory image to a tape and TST card reads a memory image from tape.
A bunch of Lisp Machines were directed at production, not developers. From Symbolics there were special models for that and also smaller "delivery system" versions of the operating system.
For example American Express had a bunch of Lisp Machines as checking complex credit card transaction, Lucent had Lisp Machine nodes in a network switch, NASA had Lisp Machines monitoring video camera streams of rockets from Space Shuttle launches, Symbolics sold many graphics systems to TV studios, etc.
> while smalltalk at Xerox was more targeted at office productivity.
Is that true? Xerox had an office system running on the same hardware, but written in Mesa - unrelated to Smalltalk. Xerox had the CIA as a main customer for the Smalltalk machines, using an application called 'Analyst'...
https://ethw.org/Oral-History:Adele_Goldberg
'But our big commercial involvement was with the CIA.'
> Interestingly enough Xerox hired the BBN team that made lisp machines, and the Xerox star was made to run lisp as well.
BBN made a Lisp in the 60s, from where some developers went to Xerox in 1972/73. Before Lisp Machines existed. BBN Lisp was renamed Interlisp and was supported by both companies. Xerox developed Interlisp-D for Lisp Machines and BBN put Interlisp on an internal research computer.
BTW, somebody typed the VM source in from the blue book and posted it online. You may find the resources on that page useful: http://www.wolczko.com/st80/
The blue book and other excellent out-of-print books on SmallTalk can be found here:
Ruby follows in SmallTalk's footsteps and implements something similar, at least to an extent.
[1]> (class-of (cons 1 2))
#<BUILT-IN-CLASS CONS>
[2]> (class-of #\x)
#<BUILT-IN-CLASS CHARACTER>
[3]> (class-of nil)
#<BUILT-IN-CLASS NULL>
[4]> (class-of (function mapcar))
#<BUILT-IN-CLASS FUNCTION>> in SmallTalk you have data = program (which is running)
Isn't it just an eagerly-evaluated language with closures? Can it walk its own AST?
Each variation loaded the respective microcode into the CPU and booted into the respective environment.
You can read all about those environments here https://archive.org/details/bitsavers_xerox