On Wed, 02 Feb 2005 10:56:09 +0900, Ryan Davis wrote:
> It can't (and won't) translate dynamic code. Period. That is simply not 
> the intent.
> 
[This is just my personal opinion, and is not meant to be mean]

I guess the name Ruby2C and its goals are not well choosen, for in my
opinion it makes no sense to rely on type inferal and conversion to
C-types in a inherently dynamic language like ruby. Furthermore, it is
very restrictive subset you choose.

In your example, you end up with a method like 
> void hello1(long param) { .. }

Classes compiled in such a way:
* Need a very restrictive wrapper to be called from ruby
* Methods have to be final 
* No dynamic binding
* Explicit type conversion before calling the method
* Cannot be extended from ruby
* Do not use the ruby C framework

Smalltalk was mentioned in the BLOG as an example of a language, where
most functionality is written in the language itself, but:

In Smalltalk, altough most things are written in Smalltalk itself, they
rely on a VM, which is able to interpret all kinds of smalltalk code. I
think this approach, which maybe YARV may realize, is much more
appropriate for a dynamic language like ruby.

But then again, maybe I did not understand your intent.

best regards,