From: George Date: 2005-04-08T17:39:44+09:00 Subject: Re: Seven new VMs, all in a row > I'm not *building* a Ruby VM on top of a Smalltalk VM. The Smalltalk > VM will be allocating Objects and JIT-ing bytecodes natively. There is > almost no Smalltalk in the Smalltalk VMs, and what semantics there are > are a very good fit for Ruby anyhow. All I'm doing is providing enough > meta-Ruby to enable the Smalltalk VMs to run Ruby (including a Ruby > compiler written in Ruby). I'm curious - how good a fit are Ruby semantics for Smalltalk VMs? Do Smalltalk VMs/bytecode provide the following Ruby facilities, and, if not, how easily can they be emulated? - blocks (with Ruby semantics in case they're different from Smalltalk's) - mixins - instance variables that don't need to be predeclared with the class - class variables & constants - throw/catch - exceptions - continuations - support for OS facilities like select, signals etc Too great a mismatch between Ruby and Smalltalk semantics will mean that an emulation layer will be needed, which will presumably reduce the performance gains. Of course, I hope that's not true! Good luck with the project. -- George