Jecel Assumpcao Jr.
jecel at merlintec.com
Fri Dec 9 22:48:28 UTC 2011
I worked on Self for ARM back in 1993 and 1994. It was my own
implementation rather than a port and back then ARM had a 26 bit PC
rather than a 32 bit one, which was a major factor in the design.
Unfotunately, I don't think anything from that project would be useful
Jan mentioned using a different VM for Self. I agree that this is a
possibility. Even one as different as the Squeak VM (now with the Cog
JIT) could work. This would be the opposite of Mario's Smalltalk-on-Self
or the Pepe Java-on-Self.
David and Russell mentioned that the current Self VM is a better
immediate project than Klein. It is a pity that this is the case, but
Klein was cancelled when it was one or two years away from being a
usable replacement for traditional Self.
Baltasar suggested an interpreter, and David has put a lot of work on
making this possible. The changes in the bytecodes from Self 4.0 to 4.1
were exactly to make it more interpreter friendly. Klein includes an
interpreter (called Yoda) but for work outside of Klein a new
interpreter would have to be written.
About Hotspot, that work came to Java from Self (through Strongtalk and
a company called Animorphic that Sun bought) so there would be no need
to borrow back anything from Java.
Is the PowerPC still supported on recent Selfs? It would probably be the
best starting point for an ARM port. But I wonder what ARM machines are
people interested in? The most popular are the ones from Apple and I
wouldn't waste my time with them given how hostile they have been to the
various languages. Though at least they have allowed a native Lua
development environment on their store, but they make it a pain to move
code on or off the devices.
The soon to be released Raspberry Pi (http://www.raspberrypi.org/) could
be a good option. It runs Linux, so the port would only have to deal
with the processor differences and not OS changes. It is pretty weak,
but should be much faster than my Sun Ultra 5 (which is a very
reasonable Self machine). At $25 (or $35 with more memory and Ethernet)
it can go places normal PCs don't.
My PhD project involves hardware and VMs. If it works, it might be an
interesting option for Self. But it would be an even worse idea for you
guys to wait for this than it would to work on Klein, so I encourage the
idea of cleaning and porting the C++ VM even though I can't participate
in that myself.
More information about the Self-interest