[squeak-dev] Image conversions (was Re: Squeak Trunk V3 Update Stream)

David T. Lewis lewis at mail.msen.com
Thu Feb 15 17:50:39 UTC 2018


On Thu, Feb 15, 2018 at 07:05:26AM -0800, Eliot Miranda wrote:
> Hi David, Hi Casey,
> 
> > On Feb 15, 2018, at 6:05 AM, David T. Lewis <lewis at mail.msen.com> wrote:
> > 
> >> On Thu, Feb 15, 2018 at 09:33:59AM +0100, Tobias Pape wrote:
> >> 
> >>> On 15.02.2018, at 07:46, Marcel Taeumel <marcel.taeumel at hpi.de> wrote:
> >>> 
> >>> For the long term, I would love to have an "Export as..." in the world menu of a regular (trunk) image. :-)
> >> 
> >> Or even better: have the vm detect whether it loads an image matching its bit-ness (is this a word?)
> >> and if not, convert it (maybe with a "please wait" info). I mean, it works for RSqueak and IIRC SqueakJS???
> >> 
> >> -t
> > 
> > These are great ideas!
> > 
> > Does anybody know any smart grad students looking for a challenging project?
> 
> 
> My dream conversion would be taking the Smalltalk-80 image I have from the original Xerox tape and replacing its compiler and other relevant methods so that it used closures and Spur, and a conventional file/directory interface, but otherwise remained the simple bitblt based system with some 2000 methods and 200 classes.
> 
> Such a system is great for learning because it is small enough for one person to learn all of it.  Of course it would be a bit bigger; the closure compiler is more complicated, but not by much.  But projects like replacing repainting windows by windows with a backing store, are afternoon projects in this context. 

That idea is crazy enough that it just might work :-)

So just to explore the idea: If someone wanted to actually do this, how
might they proceed?

My guess would be that the fastest path might be to start with a modern
oscog VMMaker image, and write enough new simulator support to handle the
object memory and interpreter of the original Xerox system.

If the old Xerox image could be hosted in a modern simulator, then it
should be possible to translate the object image into a format that could
be executed directly on a Spur VM.

But that is only a piece of the problem, because such an image would be
useless without the updated compiler and file system interface, and I can't
quite picture how those bootstrapping steps might be done.

Dave



More information about the Squeak-dev mailing list