Strongtalk VM for Squeak

Dan Ingalls Dan at SqueakLand.org
Mon Sep 25 21:43:48 UTC 2006


Hi, Stef -

>>	Elimination of most global static state
>>	We keep talking about it but never doing it.

Getting rid of Pools, and dropping metaclass instVars

>>	A mature Mixin system which is useful to compare with Traits.
>
>:)
>Dan read the paper of TOPLAS on my web page. Traits are cooler :)
>But we really got influenced by Strongtalk. We met Gilad before Strongtalk before it was public
>and I was the nasty that launched this public gathering of signature to have strongtalk open-sourced ;)

Thanks for your part, then.  One or two other factors were critical as well ;-).

>It would be great to see how we could run squeak on the strongtalk VM too.
>Even if I do not know the impact of their mixin aware VM. May be traits could gain from that.
>
>Gilad told me that they were doing also clever copy down (only accessors would access state in strongtalk if
>I understood correctly) so that copied down these methods on the mixin using classes ( since mixin has state and they could be
>composed arbitrary and we could not garantee a linear order of ivs).

I don't know if the VM is aware of the mixins.  What I do know is that all access to inst vars is by messages, and this frees the system from worrying about how inst vars are ordered in a particular concrete class.  In an ordinary VM this would add a substantial cost, but the inliner converts these to native access, so there is no extra overhead.

>>And I'm thinking, what if there's some kind of opportunity for another run at the fence -- some sort of scheme that opened the door for Pearl, Python, Lisp, Ruby, JavaScript and Smalltalk all to vie for being, say, the core dynamic language around which most Internet software would be written...
>>
>>...Wouldn't it be cool if we could point not only to decades worth of cool media support, tutorials, games and development tools but also, a deployment engine that rivals the best in the industry.
>
>where should we sign for you to jump into it.

I'm (over-) committed right now.

>I think that it would be good to get some young blood there too. And we should really propose a Summertalk around that topic
>next year (assuming that we will find a mentor willing to emails with a young smart guy).

Next summer? !!

Tell ya what...
Here's $5000 that says "some smart guy" will do it before the end of 2006.
<lays money on table with a bottle of champagne on top>
	;-)

>>It appears that there is enough of a community around Strongtalk to at least get it running again regardless of what we do.  But I felt (and thus the quote from before) that there was might be some low-hanging fruit worth reaching for, and that the result, independent of technical impact, would be to build the synergy of these two beautifully complementary communities, and thus strengthen the backbone of Smalltalk itself going forward.
>
>I agree!
>
>>The simplest project I had in mind (if I weren't already swamped (I know; we all are...)) was just to port Squeak's BitBlt to Strongtalk, fileIn all of Squeak (yes, this will take 206 tries ;-) make each native Strongtalk window into a Morphic project, and see how it all works.  Ideally this could be done carefully and a "bridge" procedure developed so that when the next Strongtalk or the next Squeak is released, someone can fairly easily prepare a corresponding StrongSqueak release.
>>
>>Then there would be lots of fun stuff to do -- get speech and music going well, see how well Croquet runs with the fast float support.  
>>See how many primitives can be thrown away in the faster system, etc., etc.
>>
>>How hard would this be?  I don't know.  My guess is that this could all be done without even touching the VM, just by simulating a Morphic canvas in the Strongtalk world.  A lot more fun than the Sunday puzzle page, at least.
>
>:)
>
>>
>>	- Dan




More information about the Squeak-dev mailing list