← Back to context

Comment by mpweiher

3 hours 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

The 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

I didn't know that. So they didn't bootstrap an image from scratch, when they created the new VM?

  • No, 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.

  • That'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

    Hmm...I wonder if Dan used the PDF writer I wrote for him to produce that version of the paper...

    • Thanks 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 :-)