I just want to ask if puts "foo" + 2 will fail before gcc-time? Or do you use rtti so typing is still put off till run-time? On Wed, 16 Feb 2005 04:52:24 +0900, Ryan Davis <ryand-ruby / zenspider.com> wrote: > We've released ruby2c 1.0.0 beta 2! > > RubyToC has the following modules: > > Rewriter - massages the sexp into a more consistent form. > TypeChecker - type inferencer for the above sexps. > RubyToC - converts a ruby (subset) sexp to C. > > and the following tools: > > translate.rb - Translates a given file to C. > > Understand what we mean by beta. It means we need eyes on it, it means > it was ready enough to put out in the wild, but it also means that it > isn't ready for any real use. > > What can it do? > > Well, currently it can pass all of its unit tests (325 tests with 512 > assertions) and it can translate nice simple static algorithmic code > into C without much problem. For example: > & cat x.rb > class Something > def blah; return 2+2; end > def main; return blah; end > end > & ./translate.rb x.rb > x.c > & gcc -I /usr/local/lib/ruby/1.8/powerpc-darwin x.c > x.c: In function `main': > x.c:17: warning: return type of `main' is not `int' > & ./a.out > & echo $? > 4 > > What can it not do? > > More than it can. > > It can't (and won't) translate dynamic code. Period. That is simply > not the intent. > > It probably can't translate a lot of static code that we simply > haven't come across or anticipated yet. Our tests cover a fair amount, > our validation runs cover a lot more than that, but it is still fairly > idiomatic ruby and that puts us at being better at certain styles of > coding and much worse at others. > > It is also simply rough around the edges. We've rounded out the rdoc > but haven't done a thing for general documentation yet. These are on > our list, and rather high on our priority list, but we just haven't had > the time yet. For now, check out the rdoc and the PDF presentation that > we've had up for a while. > > PLEASE: file bugs! We need feedback and we'd like to be able to track > it. The ruby2c project is on rubyforge and I'm getting the trackers set > up today as well. > > CHANGES: > > *** 1.0.0-beta2 / 2004-02-15 > > + 1 minor enhancement > + Added post-condition while/until support and tests. > + 4 bug fixes > + Fixed bug:1422: Escape newlines to prevent multi-line strings in C. > + Fixed bug:1429: Arrays of strings are not being properly. > + Fixed bug:1447/1448: Readme file's website and added ParseTree > dependency. > > -- > ryand-ruby / zenspider.com - Seattle.rb - > http://www.zenspider.com/seattle.rb > http://blog.zenspider.com/ - http://rubyforge.org/projects/ruby2c > > -- spooq