<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Your point about needing a story is valid, I think. A VM is not an end in itself but a mechanism. But that is why I usually end up back at the thought that the existing VM should be the base for existing work for the mid-term.</div><div><br></div><div>I have a shopping list a mile long of things I would like to do with Self, and they always in the end get back to cleaning up the existing VM as the simplest starting point.</div><div><br></div><div>The existing VM really isn't that bad. It is fast, and quite stable in my experience. And it exists :)</div><div><br></div><div>However it is tricky to compile, awkward to link into other systems and requires another helper app to bootstrap on its main platform, OS X. Removing the makedeps stage and making the foreign objects system less cumbersome would make the current Self VM quite attractive, I would think. It wouldn't be hard then to link OpenGL or whichever libraries you want.</div><div><br></div><div>- Russell</div><div><br></div><div><div>On 10/12/2011, at 8:59 AM, Michael Latta wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">













<div style="background-color: #fff;">
<span style="display:none"> </span>



    <div id="ygrp-text"><p>Another option worth thinking about is the use of LLVM for the low level code generation potions of a Self VM.  This would gain multi-platorm support and a supported core that could be built upon.  Of all the projects proposed Klein is the most interesting, but of course the highest risk.  It is the only option that has the option of producing something of lasting and unique value.  Given the number of dynamic languages with good performance these days (Rubinius in particular which uses LLVM for Ruby and has many advantages borrowed from ST), just getting Self to run on a new platform may not increase the size of the user base or attention received by much.  While those are not the only motivation, it would be easier to get funding if there was a good story on how the result of the work could have real value.<br>
<br>
Also, if the idea is to make Self available on an Arm platform better integration with the host OS and graphics libraries are worth considering as well.  That would again favor Klein rather than a port of the current VM/image which are weak in this area.  In particular a bridge to OpenGL could make the UI for the new project much more interesting.<br>
<br>
Michael<br>
<br>
On Dec 9, 2011, at 3:48 PM, Jecel Assumpcao Jr. wrote:<br>
<br>
> I worked on Self for ARM back in 1993 and 1994. It was my own<br>
> implementation rather than a port and back then ARM had a 26 bit PC<br>
> rather than a 32 bit one, which was a major factor in the design.<br>
> Unfotunately, I don't think anything from that project would be useful<br>
> today.<br>
> <br>
> Jan mentioned using a different VM for Self. I agree that this is a<br>
> possibility. Even one as different as the Squeak VM (now with the Cog<br>
> JIT) could work. This would be the opposite of Mario's Smalltalk-on-Self<br>
> or the Pepe Java-on-Self.<br>
> <br>
> David and Russell mentioned that the current Self VM is a better<br>
> immediate project than Klein. It is a pity that this is the case, but<br>
> Klein was cancelled when it was one or two years away from being a<br>
> usable replacement for traditional Self.<br>
> <br>
> Baltasar suggested an interpreter, and David has put a lot of work on<br>
> making this possible. The changes in the bytecodes from Self 4.0 to 4.1<br>
> were exactly to make it more interpreter friendly. Klein includes an<br>
> interpreter (called Yoda) but for work outside of Klein a new<br>
> interpreter would have to be written.<br>
> <br>
> About Hotspot, that work came to Java from Self (through Strongtalk and<br>
> a company called Animorphic that Sun bought) so there would be no need<br>
> to borrow back anything from Java.<br>
> <br>
> Is the PowerPC still supported on recent Selfs? It would probably be the<br>
> best starting point for an ARM port. But I wonder what ARM machines are<br>
> people interested in? The most popular are the ones from Apple and I<br>
> wouldn't waste my time with them given how hostile they have been to the<br>
> various languages. Though at least they have allowed a native Lua<br>
> development environment on their store, but they make it a pain to move<br>
> code on or off the devices.<br>
> <br>
> The soon to be released Raspberry Pi (<a href="http://www.raspberrypi.org/">http://www.raspberrypi.org/</a>) could<br>
> be a good option. It runs Linux, so the port would only have to deal<br>
> with the processor differences and not OS changes. It is pretty weak,<br>
> but should be much faster than my Sun Ultra 5 (which is a very<br>
> reasonable Self machine). At $25 (or $35 with more memory and Ethernet)<br>
> it can go places normal PCs don't.<br>
> <br>
> My PhD project involves hardware and VMs. If it works, it might be an<br>
> interesting option for Self. But it would be an even worse idea for you<br>
> guys to wait for this than it would to work on Klein, so I encourage the<br>
> idea of cleaning and porting the C++ VM even though I can't participate<br>
> in that myself.<br>
> <br>
> -- Jecel<br>
> <br>
> <br>
> <br>
> ------------------------------------<br>
> <br>
> Yahoo! Groups Links<br>
> <br>
> <br>
> <br>
<br>
</p>

    </div>
     

    

</div>



<!-- end group email -->

</blockquote></div><br></body></html>