2 ms·
> Squeak was a clean open source reimplementation Small correction: they actually cloned/converted the Apple Smalltalk image, so those bits remained. The VM
by mpweiher 1y ago
> Squeak was a clean open source reimplementation
Small correction: they actually cloned/converted the Apple Smalltalk image, so those bits remained. The VM was created from scratch by writing it in Slang, a Smalltalk dialect that was essentially equivalent to BCPL and could be translated to C.
https://dl.acm.org/doi/10.1145/263698.263754 https://dl.acm.org/doi/10.1145/263698.263754
- isr 1y agoI didn't know that. So they didn't bootstrap an image from scratch, when they created the new VM?
- mpweiher 1y agoThat's how I understand what they wrote. "Produce a new image: - Design a new Object Memory and image file format. - Alter the ST-80 System Tracer to write an image in the new format. - Eliminate uses of Mac Toolbox calls to restore Smalltalk- portability. - Write a new file system with a simple, portable interface." https://dl.acm.org/doi/10.1145/263698.263754 https://dl.acm.org/doi/10.1145/263698.263754 Hmm...I wonder if Dan used the PDF writer I wrote for him to produce that version of the paper...
- isr 1y agoThanks for the info. Hmm, it's kind of cool to think there might be a few classes in today's fully-accelerated-vector-graphics-morphic cuis system that were first keyed into the system on an Alto in the 70s :-)
- xkriva11 1y agoNo, they used a tool (SystemTracer) running inside the original Smalltalk that enumerated all the objects in the running image and serialized them in a new image format into a new image file. Every time the image file format changed, it was transformed like this. Smalltalk is very close to a biological system.
- jecel 1y agoThe VM in Slang had been previously published as part of the "blue book" (now that is what I call open source!) some 14 years before, and as the paper you linked to mentioned, Mario Wolczko at the University of Manchester had typed it in so it was available in machine readable form. They did drop the object memory part completely and designed a new one from scratch. Previously people had manually translated the VM from Slang to Pascal or C (I did so myself in 1986) but for this project they wrote a tool for that (in Smalltalk, of course). Here is another copy of the "Back to the Future" paper: http://www.mirandabanda.org/files/Papers/BttF.html http://www.mirandabanda.org/files/Papers/BttF.html