Re: Strongtalk and Ruby
"Robert Shiplett" <[email protected]>
| Newsgroups | gmane.comp.lang.smalltalk.strongtalk |
|---|---|
| Message-ID | <[email protected]> |
Could io, the language, be more promising for ST than ruby ... ? Of course you might look at the ongoing PARROT work But there are such interesting things going on with Io and Trans ( iolanguage.com and transmuter.org ). And then there is the Alice project from Mozart/Oz ... Given that there is no good frontend to Io ( io, the language ) it would seem that Strongtalk could be a user-friendly face for Io, which is already Smalltalk friendly in so many ways. But there is also no good interface to Oz beyond Emacs ... or no ? Could ST look to evolve in that direction? One interesting option is to look at the backends for Mercury - Mercury is pure and has no i/o and so no useful GUI ( and since someone once said that Smalltalk developed without regard for Prolog ... ;-) Mozart sees itself as a reaction to Mercury purists ... but seems not to be as nice a fit for Strongtalk as Io, imho. The thing about Mercury and Oz is that they come from reacting to the commercial effort at adding types to Prolog ( Turbo Prolog aka PDC Visual Prolog which now has parametric polymorphism at pdc.dk). Types for prolog was anathema to the prolog purists, performance be danged. Of great interest to me, personally, is a marriage of XLClaire to Smalltalk /X ( WebClaire is already reaching out to offer Choco to java with Palm ). I hope Strongtalk will appeal to those put off by Rebol and Curl having proprietary core - when I use either I immediately think of what could be done with Strongtalk ... On 5/6/07, Richard <[email protected]> wrote: > > > Does anyone know how suited the ruby language is to run on the > strongtalk VM? I see that the ruby community has a couple of efforts > to develop virtual machines (jruby and yarv), but I guess so far these > have not lead to much of a speed increase, and it seems that they > don't have the techniques employed in the strong talk VM. Being a > rubyist myself, I often miss being able to specify types and have the > feeling that ruby would benefit significantly having optional static > typing. Hence a second argument for wanting to target the stongtalk > VM. > > One of the things that makes languages like ruby so popular is that > they make it very easy to plug into existing C libraries. This is > important because there are tones of existing C libraries out there > that are non-trivial to duplicate (.e.g. openssl library), and why > would you want to duplicate them anyway if you can produce a nice ruby/ > smalltalk interface to them. The interface to the operating system is > C. > > Recently there was the question of how to get more people interested > in the project in a way that they can contribute. From my perspective > I would say: more documentation, more communication. They way to get > more people up to speed is communicating the how, what and why of > strongtalk and its VM. The few documents on the wiki seem to be good > start, but there's lot more needed for people to get to the point > where they can contribute. The PDF presentations on VM design are > interesting, but without the accompanying lecture one is left without > details. > > What is the situation with threads and strongtalk? Is there any chance > that strongtalk will have any more than green threads? Does it have > green threads (os runs one thread, vm jumps between green threads, > uses non-blocking io)? Green threads turned out to be really cool in > ruby: > > require 'open-uri' > > results = Array.new > results_mutex = Mutex.new > threads = (1..10).map do |index| > Thread.run do |thread| > result = open("http://www.google.com").read > results_mutex.synchronize { results << result } > end > end > threads.each { |thread| thread.join } > puts results.inspect > > I hope you'll excuse that little example. As maybe you can tell I much > prefer that ruby syntax the smalltalk syntax, but what I'm asking is: > under the covers at the VM level is pretty much all the same? Will > inlining remove all or most of the block structures in my example? > Would my ruby code run 10 times faster on the strongtalk VM (there's a > network call in the middle of the example, so I guess I mean, use 10% > of the cpu resources, not run 10 times faster. As far as I know the > ruby interpreter doesn't do any inlining)? > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Strongtalk-general" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/strongtalk-general?hl=en -~----------~----~----~----~------~----~------~--~---