Strongtalk VM for Squeak

stephane ducasse stephane.ducasse at gmail.com
Mon Sep 25 20:20:49 UTC 2006


>
> At the very least, Strongtalk can be taken as a living textbook on  
> bold steps with Smalltalk, from which we can learn a great deal.   
> Just a few that come to mind:
>
> 	An optional type system
> 	I don't like having to declare types when I'm hacking, but I wouldn't
> 	mind a button in the browser that revealed them when I clicked on it.
> 	Plus people here have pointed out the extra leverage for refactoring.
> 	And in a novice scripting world, types and type inference (unseen)
> 	can provide extra leverage for the system to suggest valid options.

yes I really hope that one of the people working on that will deliver  
soon :)

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

Can you explain a bit more dan?

> 	A kick-butt interpreter
> 	I don't know how it compares with Exupery, but I think it's nearly
> 	three times as fast as Squeak.  I think there are tricks to learn  
> from the
> 	way they assemble native code snippets to build the interpreter.
>
> 	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 ;)
>
> 	And, of course, the type-feedback inlining compiler
> 	This is what puts Strongtalk in the "ironman" category.
> 	Again there is much to learn here.  it would be great to see
> 	this done in Squeak itself, as we have been mumbling for several  
> years.

:)

> 	Special optimization for floats
> 	This translates into the ability to do serious graphics without
> 	needing as much code to be in primitives.
> 	Their float benchmark is extraordinary.
>
> The passion behind my earlier post was simply in the space of  
> Smalltalk community synergy.  I look on this as a sort of celestial  
> event -- I thought Strongtalk was the coolest thing ever done with  
> Smalltalk (that and Self), I though it was dead with the added  
> agony of having been buried alive, and suddenly the coffin lid has  
> been raised and it is breathing again!  All of this at a time when  
> dynamic languages are experiencing somewhat of a revival in  
> popularity.

But this is.
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).
>
> 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 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).

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